【发布时间】:2013-05-30 23:32:04
【问题描述】:
我有一个多模块 maven java 项目,我想在其中执行 exec 插件,以便在创建 Jars 后执行自定义命令。
我在父 POM 上调用 maven package assembly:assembly exec:exec 来创建项目输出。
我在父 POM 中使用了以下内容:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>myExecutable.exe</executable>
<workingDirectory>${basedir}</workingDirectory>
<arguments>....</arguments>
</configuration>
</plugin>
这样做时,我的可执行文件被正确执行,但也为每个子模块执行。
为了尝试修复它,我已将插件设置为不继承子模块:
<inherited>false</inherited>
但现在 exec 插件失败并出现 The parameters 'executable' for goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec is missing or invalid 错误。 p>
我尝试将插件设置为在“executions”元素下运行,并将其分配给 maven 生命周期阶段。这导致可执行文件成功运行,但我无法执行此操作,因为我需要在执行此 exec 插件之前执行其他插件(程序集插件)。
如何在打包阶段完成并且另一个插件(程序集)也完成后只运行一次这个(exec)插件?
换句话说,我想为我的所有子模块执行“包”,然后只从父模块执行一次 exec 插件。
我将不胜感激。
【问题讨论】:
-
听起来像是一种你想开始的集成测试?
-
没有。我正在执行一个 WIX 项目,以便从我所有项目的输出中构建一个 MSI。