Eclipse在多个项目上运行不同的Maven目标

时间:2018-08-09 14:27:30

标签: java eclipse maven

在使用Eclipse Neon时,我只有几个Maven项目,

我需要在不同的项目上运行不同的目标才能按顺序执行/

我找到了一个answer,或者一个answer for same goal

用法示例:调用项目A和B的clean install,调用项目C的clean install -X,然后调用项目D的clean install tomcat7:run-war -X

2 个答案:

答案 0 :(得分:1)

如果安装命令行Maven,则可以从Shell或cmd调用mvn clean install。然后,您可以编写一个sh或bat文件,该文件可以导航到正确的文件夹并调用mvn命令。

如果您通常要构建所有项目,请考虑多模块项目。如果重构太多,您还可以定义一个单独的项目(作为反应堆项目),其中将四个项目作为模块包含在内。然后在整个项目上运行mvn clean install将在所有包含的模块上运行命令。不幸的是,在多模块设置中,无法为不同的模块(https://stackoverflow.com/a/4112696/927493)运行不同 Maven目标。您要么需要两次调用Maven(使用不同的模块列表),要么将tomcat目标添加到相关模块中的安装阶段。

答案 1 :(得分:1)

一种方法是使用命令行运行maven。

基本格式为:

mvn [goal [goal2 [goal3] ...]]

cleaninstall是标准目标。

tomcat7:run-war是插件目标。

您肯定在pom.xml中有一个<plugin>部分,用于为此目标设置属性。您可以在以下位置找到tomcat7插件的所有其他目标:http://tomcat.apache.org/maven-plugin-2.1/tomcat7-maven-plugin/plugin-info.html

您需要进入每个项目文件夹并运行具有适当目标的命令:

cd <project_A_pom_directory>
mvn clean install
cd <project_B_pom_directory>
mvn clean install -X
cd <project_C_pom_directory>
mvn clean install tomcat7:run-war -X