【发布时间】:2019-05-03 01:26:00
【问题描述】:
使用maven-exec-plugin 和一个java 目标,我执行了一个jar 程序来验证我项目中的一些文件。验证失败时调用System.exit返回非零返回码。
问题是它和Maven在同一个JVM中执行,所以当它调用exit时,处理停止,因为它does not fork。
我将其配置为使用 maven-exec-plugin 和 java 目标执行(如在 here 中)。执行 jar 在我的 Nexus 存储库中,所以我想将其作为 pom.xml 中的依赖项下载。
配置 maven-exec-plugin 依赖项的一个非常好的功能是它会下载 jar 及其所有依赖项,因此无需使用 maven 程序集插件将所有 jar 包含在可执行文件中。
如何配置我的 pom.xml 以执行 jar 依赖并在失败时正确停止?
【问题讨论】:
-
可以详细说明您的问题到底是什么导致通过 exec-maven-plugin 执行依赖项对我来说听起来很奇怪?如果在构建过程中需要它,请创建它的插件...?
-
@khmarbaise:我想执行一个内部工具来验证代码。我设法运行它 exec:java ,这是一个非常好的解决方案,因为我只需要将它放在我们的包存储库中,maven 会自动下载它及其所有依赖项。问题是它在没有分叉的情况下执行,
system.exit将结束 maven 进程。我将在星期一发布原始解决方案。 -
我建议通过 maven-plugin 运行您的工具,这将解决您遇到的所有问题...
-
@khmarbaise,哪个插件?
-
简单地编写它以将其正确集成到您的构建过程中......更干净......