如何为多个特定模块激活一个Maven Profile
我们有一个多模块Maven项目,由一个父POM和五个或更多模块组成。
如果我们激活自定义的“自动部署”配置文件,每个模块都可以部署到正在运行的服务器上,该配置文件在每个模块中都明确定义,因为每个模块的部署方式会有所不同。
但是,如果从父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-from
Resume reactor from specified project
-pl, - 项目
Build specified reactor projects instead of all projects
-am, - 还是make
If project list is specified, also build projects required by the list
-amd, - 还有make-dependents
If project list is specified, also build projects that depend on projects on the list
仅从根目录构建模块-b:
$ mvn --projects module-b安装
链接地址: http://www.djcxy.com/p/62121.html上一篇: How to activate a Maven Profile for a specific module in a mutli
下一篇: Why can't I activate a Maven2 profile from another profile?