maven-assembly-plugin:不要触发默认汇编描述符的搜索

时间:2015-03-22 20:56:25

标签: maven maven-assembly-plugin

我有maven-assembly-plugin配置为构建2个zip工件:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <skipAssembly>true</skipAssembly>
    </configuration>
    <executions>
        <execution>
            <id>game-zip</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
            <configuration>
                <skipAssembly>false</skipAssembly>
                <descriptors>
                    <descriptor>${basedir}/assembly/game-zip.xml</descriptor>
                </descriptors>
                <finalName>game-</finalName>
                <appendAssemblyId>false</appendAssemblyId>
            </configuration>
        </execution>
        <execution>
            <id>lib-zip</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
            <configuration>
                <skipAssembly>false</skipAssembly>
                <descriptors>
                    <descriptor>${basedir}/assembly/lib-zip.xml</descriptor>
                </descriptors>
                <finalName>lib-</finalName>
                <appendAssemblyId>false</appendAssemblyId>
            </configuration>
        </execution>
    </executions>
</plugin>

我使用以下方式运行:清洁包装配件:单个 此配置运行良好,但需要3个显式标记 skipAssembly 。根目录中的那个应该是 true ,因为如果不是 - 构建将失败(但是,在预期的工作完成之后)。
经度:

[INFO] --- maven-assembly-plugin:2.2-beta-5:single (game-zip) @ gdxg-art ---
[INFO] Reading assembly descriptor: D:\idea\gdxg5/assembly/game-zip.xml
[INFO] Building zip: D:\idea\gdxg5\target\game-.zip
[INFO] 
[INFO] --- maven-assembly-plugin:2.2-beta-5:single (lib-zip) @ gdxg-art ---
[INFO] Reading assembly descriptor: D:\idea\gdxg5/assembly/lib-zip.xml
[INFO] Building zip: D:\idea\gdxg5\target\lib-.zip
[INFO] 
[INFO] --- maven-assembly-plugin:2.2-beta-5:single (default-cli) @ gdxg-art 

上一次maven-assembly-plugin调用失败,并且:无法执行目标org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:单个(default-cli)项目gdxg- art:读取程序集时出错:找不到程序集描述符

问题:有没有办法避免显式skipAssembly = true / false设置?因为它看起来像一些开销。

1 个答案:

答案 0 :(得分:1)

此问题是由于您使用clean package assembly:single运行maven的事实。您的maven-assembly-plugin已配置为在maven生命周期的assembly:single阶段运行任务package

您正在调用的任务中出现 small 错误会导致构建周期中出现这种混乱。

您不需要运行clean package assembly:single而只使用clean package,而不需要您设置的三个skipAssembly。

我在maven-assembly-plugin JIRA上创建了一个错误提示,因为我认为这种行为不正常(即使我们使用的是clean package而不是clean package assembly:single):{ {3}}