Pas*_*ent 15
如果要将此命令作为正常构建生命周期的一部分运行,除了exec在install阶段上绑定目标之外没有其他方法:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<id>my-exec</id>
<phase>install</phase>
<goals>
<goal>exec</goal>
</goals>
<inherited>false</inherited>
</execution>
</executions>
<configuration>
<executable>COMMAND</executable>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
我使用上面的配置(使用ls"COMMAND")和一个新创建的maven项目进行了一个简单的测试,并且运行mvn install产生以下输出:
$ mvn install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building maven-exec-testcase
[INFO] task-segment: [install]
[INFO] ------------------------------------------------------------------------
...
[INFO] [install:install {execution: default-install}]
[INFO] Installing /home/pascal/Projects/maven-exec-testcase/target/maven-exec-testcase-1.0-SNAPSHOT.jar to /home/pascal/.m2/repository/com/mycompany/app/maven-exec-testcase/1.0-SNAPSHOT/maven-exec-testcase-1.0-SNAPSHOT.jar
[INFO] [exec:exec {execution: my-exec}]
[INFO] pom.xml
[INFO] src
[INFO] target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12 seconds
[INFO] Finished at: Tue Jan 05 19:26:04 CET 2010
[INFO] Final Memory: 11M/75M
[INFO] ------------------------------------------------------------------------
我们可以看到,该命令在阶段结束时执行install(在将工件复制到本地存储库之后).
如果你真的不想要的代码片段添加到您的POM,那么你就必须显式调用exec:exec后,install由惠利的建议在命令行上.
maven 默认生命周期以安装和部署目标结束——没有这些目标的前版本和后版本。
潜在的选择是:
将 exec:exec mojo 绑定到部署阶段。我会警告您不要使用这个想法,因为部署阶段实际上是为了将工件部署到远程 Maven 存储库。
在 mvn 调用中的安装目标之后运行 exec:exec mojo... 例如:
mvn clean install exec:exec -Dexec.executable="yourcommand" -Dexec.args="arguments"
如果您有一个多模块项目,请在 <modules> 的末尾创建另一个模块,并将 exec:exec 绑定到该模块中的任何常用目标。假设不满足反应器查看的其他标准,这将强制此特定模块最后运行。我在我从事的 Maven 项目中采用的一个常见策略是“当有疑问时,创建另一个模块”。
| 归档时间: |
|
| 查看次数: |
12042 次 |
| 最近记录: |