You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

maven-shade-plugin默认绑定不生效,手动绑定正常的问题咨询

Maven Shade插件默认绑定失效的疑问

根据maven-shade-plugin文档说明,shade目标默认绑定到package生命周期阶段,理应和jar:jar这类默认绑定package的插件同步执行。按照Maven的POM规范,pluginManagement仅用于配置供子POM或当前POM引用的插件参数。

于是我们在父POM的pluginManagement中配置maven-shade-plugin的基础参数:

<groupId>foo</group>
<artifactId>parent-code</artifactId>
<version>1.2.3</version>
<packaging>pom</packaging>

<build>
    <pluginManagement>
        <plugins>
            ... 其他插件如maven-{resources,compiler,jar}-plugin ...

            <plugin>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    ... 配置内容 ...
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

接着在子POM中引用该插件并调整配置:

<groupId>foo</group>
<artifactId>child-code</artifactId>
<version>1.2.3</version>
<packaging>jar</packaging>

<parent>
    <groupId>foo</groupId>
    <artifactId>parent-code</artifactId>
    <version>1.2.3</version>  <!-- Maven 4中可省略 -->
</parent>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <configuration>
                ... 自定义调整 ...
            </configuration>
        </plugin>
    </plugins>
</build>

但执行mvn package时,shade插件完全没有运行,即使加上-X参数也看不到任何相关日志。不过如果手动给插件添加执行绑定,指定package阶段和shade目标:

<plugin>
    <artifactId>maven-shade-plugin</artifactId> <!-- group、version等元素和之前完全一致 -->
    <executions>                      <!-- 新增的执行配置块 -->
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        ... 和之前一致的配置 ...
    </configuration>
</plugin>

插件就能正常工作,而且这个绑定配置无论是放在父POM的pluginManagement里,还是子POM的plugins里都有效。

我对默认绑定的理解哪里错了?一开始怀疑父POM用pom打包没有package阶段,但父POM里配置的其他默认绑定compile、package阶段的插件都能正常继承执行,不需要手动绑定。

内容的提问来源于stack exchange,提问作者Ti Strga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 18:42:42