2

我有一个带有父 POM 的项目和三个带有的子项目。我想执行目标程序集:仅在一个子 POM 上进行程序集。我已经阅读了以下帖子,但我没有让它与 maven 程序集插件一起使用。

在子模块上执行 Maven 插件目标,但不在父模块上

如果我跑

mvn -DskipTests=true assembly:assembly

我收到以下错误:

[错误] 无法在项目内部执行目标 org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:assembly (default-cli):读取程序集时出错:未找到程序集描述符。-> [帮助 1]

似乎它总是解析插件配置并查找程序集描述符,即使那样,如果我根本不将插件放入父 POM 中。有人有组装插件的解决方案吗?

4

3 回答 3

10

正确的选项是:<skipAssembly>true</skipAssembly>为了跳过父项目。

于 2014-06-13T22:04:03.443 回答
2

您可以在父 pom 属性中定义

<assembly.skipAssembly>true</assembly.skipAssembly>

并在您的模块 pom 属性中覆盖此属性

<assembly.skipAssembly>false</assembly.skipAssembly>
于 2015-03-23T10:06:35.087 回答
-5

您可以在聚合中配置pom.xml程序集插件以跳过执行。

<build><plugins>部分

<configuration><skip>true</skip></configuration>
于 2013-10-07T12:31:11.863 回答