【问题标题】:NO shaded jar found in target after maven shade plugin packages the projectmaven shade插件打包项目后在目标中没有找到阴影jar
【发布时间】:2018-09-26 23:25:15
【问题描述】:

在运行 mvn package:shade shade 时,日志中有这样的条目:Replaceing XYZ.jar with XYZ-shaded.jar 但在我的目标目录中,我找不到阴影 jar

这是我关于maven shade的pom

尝试后,这个pom帮助了我

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.1.1</version>
    <configuration>
        <filters>
            <filter>
                <artifact>*:*</artifact>
                <excludes>
                    <exclude>META-INF/*.SF</exclude>
                    <exclude>META-INF/*.DSA</exclude>
                    <exclude>META-INF/*.RSA</exclude>
                </excludes>
            </filter>
        </filters>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <shadedArtifactAttached>true</shadedArtifactAttached>
                <shadedClassifierName>shaded</shadedClassifierName>
                <transformers>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>reference.conf</resource>
                    </transformer>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <manifestEntries>
                            <Main-Class>akkaexample.Akkmain</Main-Class>
                        </manifestEntries>
                    </transformer>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <mainClass>akkaexample.Akkmain</mainClass>
                    </transformer>
                </transformers>
            </configuration>
        </execution>
    </executions>
</plugin>

【问题讨论】:

    标签: java maven-shade-plugin


    【解决方案1】:

    你检查过输出的jar文件是否是阴影吗?

    Shade 插件可能替换这里的原始文件,这意味着用阴影版本覆盖它。

    如果您希望在最后同时获得两个 jar 文件(阴影和非阴影),您可能需要将 shadedArtifactAttached 属性设置为 true

    定义是否应将阴影工件作为分类器附加到原始工件。如果为 false,则阴影 jar 将是项目的主要工件

    Maven Shade Mojo Documentation.

    【讨论】:

    • @RomaJain 好的。您能否将关于阴影插件的部分添加到问题中?
    • 有趣,这在我的 OSX 上适用于我,但我的 windows compadres 不必这样做。
    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 2014-07-23
    • 2023-03-15
    • 2015-04-22
    • 2011-03-10
    相关资源
    最近更新 更多