我有一个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>