我想运行一个简单的exec命令发布maven安装阶段。实现这个目标最简单的方法是什么? (无需添加新的插件)运行一个任务发布maven安装
8
A
回答
13
如果你想作为正常构建生命周期的一部分运行此命令,没有其他方式比在install
相结合的exec
目标:
<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>
我使用做了一个简单的测试上述(使用ls
为“COMMAND”)与新创建的行家项目和运行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中,那么您必须在whaley建议的命令行上明确呼叫exec:exec
后install
。
3
Maven的默认的生命周期与结束安装和部署目标 - 有这些目标没有之前和之后的版本。
潜在的选择将是:
绑定高管:EXEC魔力与部署阶段。由于部署阶段实际上是为了将工件部署到远程Maven存储库,所以我会警告您不要这样做。
运行exec:EXEC魔力在MVN调用安装进球后...如:
MVN全新安装前高管:EXEC -Dexec.executable = “yourcommand” -Dexec.args = “论据”
如果您有多模块项目,请在<模块>的末尾创建另一个模块,并将exec:exec绑定到该模块中的任何常用目标。这将迫使这个特定的模块最后运行,假设不符合其他criteria the reactor looks at。我所使用的Maven项目的一个常见策略是“如果有疑问,请创建另一个模块”。
相关问题
- 1. 摇篮Maven的发布:任务只发布一个
- 2. 从另一个Maven安装命令触发Maven安装命令
- 3. 在Phing中运行Composer安装任务
- 4. Apache Ant - 安装Maven Ant任务
- 5. 运行Gradle安装而不运行compileTestJava任务?
- 6. 在maven安装后运行脚本
- 7. 无法运行maven安装osmdroid
- 8. STS:运行 - > maven安装错误
- 9. Maven-Plugin:无法运行任务'yarn'
- 10. 特定阶段后运行任务maven
- 11. 如何发布多个jar文件到干净的安装maven
- 12. 为tomcat发布:在Maven上运行
- 13. Rails发布发布任务
- 14. 安卓:如何运行内的另一个任务(TimerTask的)任务
- 15. 通过运行一个WordPress安装
- 16. 安装Maven插件时是否可以运行maven artifact?
- 17. 是否需要安装Ant来运行Maven的maven-antrun-plugin?
- 18. maven运行从内部pom的maven安装
- 19. 如何安排一个任务在iron.io中定期运行
- 20. 安排一个iOS应用程序任务在后台运行
- 21. 在Inno Setup安装中运行另一个安装程序
- 22. 从C#安装程序安装程序运行另一个MSI
- 23. 指定要在gem安装过程中运行的rake任务
- 24. 如何在Gradle中安装/运行监视任务
- 25. 在Docker运行命令中安装cron任务
- 26. 运行安装任务时出错 - 升级capistrano v.3
- 27. NPM软件包安装后运行gulp任务
- 28. 在Android上安装apk的运行任务
- 29. 无法在Intellij中运行Maven任务 - maven home无效
- 30. 无法通过MavenCli(Maven的嵌入)来运行Maven任务