Maven Shade插件合并MANIFEST.MD

时间:2018-08-06 10:10:41

标签: java maven manifest maven-shade-plugin

我有一个lib,其MANIFEST.MD文件包含某些类路径条目。我在我的项目中使用此库,并使用maven-shade-plugin创建一个超级jar。在此过程中,库的MANIFEST.MD内容将丢失。

我的库清单文件:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: pankajsinghal
Class-Path: $JAVA_HOME/lib/ lib/commons-codec-1.9.jar lib/httpcore-4.4.1.jar
Created-By: Apache Maven 3.5.4
Build-Jdk: 1.8.0_181

当我创建uber-jar时,它将创建其自己的MANIFEST文件,其中包含新内容:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: pankajsinghal
X-Compile-Target-JDK: 1.8
Class-Path: conf/
X-Compile-Source-JDK: 1.8
Created-By: Apache Maven 3.5.4
Build-Jdk: 1.8.0_181
Main-Class: com.projectA.Main

如何将lib的MANIFEST.MD内容与新的uber-jar的{​​{1}}文件合并,以使lib的MANIFEST的MANIFEST.MD项包含在超级文件中- jar的清单文件。

我尝试使用以下变压器:

Class-Path

但是,构建失败并显示以下消息:

<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
    <resource>META-INF/MANIFEST.MF</resource>
</transformer>

0 个答案:

没有答案