如何为mutli模块项目中的特定模块激活Maven概要文件



我们有一个多模块Maven项目,由一个父POM和5个或更多模块组成。

如果我们激活自定义的"自动部署"配置文件,每个模块都可以作为构建的一部分部署到正在运行的服务器上,该配置文件在每个模块中都明确定义,因为每个模块的部署方式/内容略有不同。

然而,当从父POM构建时,如果我激活"自动部署"配置文件,Maven最终将部署所有模块,这几乎不是我们需要做的(基于我们的开发过程等)。但我们确实希望从根构建,因为多个模块之间可能会发生变化,并且某些模块之间存在依赖关系。

当从父POM构建时,有没有办法只为其中一个模块而不是所有模块激活我们的自定义"自动部署"配置文件?

感谢

如果每个模块都有自己的"自动部署"配置文件,并且配置文件激活将由传递给mvn命令的变量触发,则您将能够在父模块上运行单个mvn命令,并通过声明激活变量来决定应部署哪些模块

<profiles>
    <profile>
        <id>profileId</id>
        <activation>
            <property>
                <name>profileIdEnabled</name>
                <value>true</value>
            </property>
        </activation>
        <properties></properties>
    </profile>
</profiles>

然后

mvn -DprofileIdEnabled=true

查看Maven:完整参考-第6.2节。使用先进的反应堆选项。

从Maven 2.1版本开始,有了新的Maven命令行选项,可以操作Maven构建多模块项目的方式。这些新选项是:

-rf,--从恢复

   Resume reactor from specified project

-pl,--项目

   Build specified reactor projects instead of all projects

-am,--也使

   If project list is specified, also build projects required by the list

-amd,--也使依赖项

   If project list is specified, also build projects that depend on projects on the list

只从根目录构建模块-b:

$mvn--项目模块-b安装

最新更新