从另一个Maven安装命令触发Maven安装命令
有没有办法从另一个Maven安装命令触发Maven安装命令?从另一个Maven安装命令触发Maven安装命令
换句话说,我希望能够在maven项目上执行maven install命令(在eclipse中),我希望这会自动在另一个maven项目上产生一个安装命令。 这可能吗?
“触发”另一个版本的Maven方式是定义一个multi-module build。父pom项目可以指定模块,这些模块都将使用标准生命周期构建。所以在父母上运行mvn install
意味着每个模块都是依次构建的。
父与pom
packagin限定,并且将有一个模块声明这样的:
<modules>
<module>module-a</module>
<module>module-b</module>
</modules>
或者,也可以附加其他伪影因此它们一起部署的主伪影的生成(假设他们“VE已经被打包,则可以使用build-helper-maven-plugin到attach任意文件到您的POM,所以它会与指定的分类进行部署。下面的配置将指定文件附加为my-artifact-1.0-extra.jar
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>/path/to/extra/file.jar</file>
<type>jar</type><!--or specify your required extension-->
<classifier>extra</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
正如指出的那样,在一组模块上启动一个目标(可以说是mvn install
)的maven方法是将它们组织为一个多模块项目,并在父pom上启动目标。在幕后,Maven将为这项工作使用“Maven反应堆”。反应器将通过对由模块之间的依赖关系构建的有向图的节点进行拓扑排序来计算构建顺序。该图是通过在poms中查看<modules>
和<dependencies>
标签构建的。
但是从父启动Maven是不是唯一的选择和Maven提供了更多的可能性与反应器玩(例如制定项目和它的依赖或那些依赖于它):
与Maven 2.0.X你必须使用电抗器插件:http://maven.apache.org/plugins/maven-reactor-plugin/(见Reactor: My New Favourite Maven Plugin太)
与Maven 2.1+您可以使用本机命令行选项:http://www.sonatype.com/people/2009/03/maven-210-released/(见新的建设模式选项
-amd
,-rf
,-am
,-pl
)
检查出来,它可以帮助你实现你的目标。