如何在maven阴影jar

时间:2016-06-29 10:29:14

标签: java maven jar maven-shade-plugin

我想在阴影罐中记录哪些maven文物实际上最终会出现在阴影罐中。

所有的软件包都会被合并,这使得很难通过查看jar来准确地确定哪些工件进入了它。

我认为该信息的理想位置是清单文件,但它可能只是在文本文件中。

理想情况下,我想查看groupId,artifactId和version。

使用maven shade插件可以实现这一点吗?

先谢谢你,菲尔。

3 个答案:

答案 0 :(得分:0)

您可以使用maven执行此操作,以下步骤:

1-在 src / main / resources 下创建一个包含信息的文件,例如info.txt,其中包含以下内容:

 <project>
      ...
      <build>
        ...
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/information.txt</include>
            </includes>
          </resource>
          ...
        </resources>
        ...
      </build>
      ...
    </project>

2- 激活Maven过滤器

replace(/[\s]+/g, " ")

3-构建项目。该文件现在将包含您需要的信息。

More information about the plugin.

答案 1 :(得分:0)

因为它不支持我已经请求此功能的阴影插件。 https://issues.apache.org/jira/browse/MSHADE-236

答案 2 :(得分:0)

使用Maven构建jar时,默认情况下您将获得以下条目:/META-INF/maven/${groupId}/${artifactId}/pom.properties/META-INF/maven/${groupId}/${artifactId}/pom.xml。在着色时,所有这些文件也将以阴影罐结束。