Maven和maven-shade-plugin的小坑

环境

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)

finalName 到底是什么

<finalName>${project.name}.${scala.binary.version}-${flink.version}</finalName>

经过测试project.name如果没有定义,则pom.name和pom的artifactId一致,
这就是finalName不生效的原因。

所以需要定义name,他不会继承父Pom的name.

<name></name>

验证方法

mvn help:evaluate

输入${project.name}

pom.name和project.name 均不会继承parent的名称(IDEA提示的是继承过来的,IDEA的提示可能有bug)


<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.2.4</version>
    <configuration>
        <createDependencyReducedPom>false</createDependencyReducedPom>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <!--<shadedArtifactAttached>true</shadedArtifactAttached>-->
                <!--<shadedClassifierName>pfc</shadedClassifierName>-->
                <finalName>${project.name}.${scala.binary.version}</finalName>
                <transformers>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <manifestEntries>
                            <original-GAV>slankka:${groupId}:${artifactId}:${version}</original-GAV>
                        </manifestEntries>
                    </transformer>
                </transformers>
            </configuration>
        </execution>
    </executions>
</plugin>
posted @   一杯半盏  阅读(907)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示