仅在子POM上执行maven程序集插件

仅在子POM上执行maven程序集插件,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我有一个具有父POM的项目和三个具有的子项目。我希望在一个子POM上执行目标汇编:assembly。我已经阅读了下面的文章,但是我没有让它与maven assembly插件一起工作 如果我跑 mvn -DskipTests=true assembly:assembly 我得到以下错误: [错误]无法在项目内部执行goal org.apache.maven.plugins:maven程序集插件:2.2-beta-5:assembly(默认cli):读取程序集时出错:未找到程序集描述符。->[帮

我有一个具有父POM的项目和三个具有的子项目。我希望在一个子POM上执行目标汇编:assembly。我已经阅读了下面的文章,但是我没有让它与maven assembly插件一起工作

如果我跑

mvn -DskipTests=true assembly:assembly
我得到以下错误:

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


它似乎总是解析插件配置并查找程序集描述符,即使这样,如果我根本没有将插件放入父POM中。有没有人能为组装插件提供解决方案

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

部分

<configuration><skip>true</skip></configuration>
true

右侧选项为:
true
以跳过父项目。

您可以在父pom属性中定义

<assembly.skipAssembly>true</assembly.skipAssembly>
<assembly.skipAssembly>false</assembly.skipAssembly>
true
并在模块pom属性中覆盖此属性

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

我在我的父POM中有这个,但是我仍然得到错误“找不到程序集描述符”:maven assembly plugin true assembly package程序集文件存在于何处?如果使用属性替换引用它,它可能位于错误的位置。如果您发布多模块项目的结构和程序集的位置,我可能会为您找到答案。好的答案是
true
**FYI,
assembly:assembly
是。改用
assembly:single
。此外,最新的汇编插件是2.4版,有时版本升级包含可能有帮助的错误修复。