如何在maven shade插件中设置清单类路径?

如何在maven shade插件中设置清单类路径?,maven,classpath,manifest,maven-assembly-plugin,maven-shade-plugin,Maven,Classpath,Manifest,Maven Assembly Plugin,Maven Shade Plugin,我正在使用shade插件,除了能够通过设置清单的类路径外,其他一切都很好 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.generic.App</mainClass> <classPath>. ./config&l

我正在使用shade插件,除了能够通过设置清单的类路径外,其他一切都很好

 <transformer 
        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
        <mainClass>com.generic.App</mainClass>  
        <classPath>. ./config</classPath>                           
    </transformer>
看医生

应该能够解析任何有效的清单资源?我试过clss path类path类path无效

我需要类路径来设置外部应用程序属性文件的位置

由于一个众所周知的问题,我使用shade插件而不是assembly:

顺便说一句,我可以在汇编中很容易地做到这一点:(而且很有效)


. ./配置
我不能通过maven使用oneJar插件,因为您也不能设置清单条目。(我不这么认为?)


有什么想法吗?

试试这个,它应该可以与maven shade插件2.1版配合使用:

<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
 <manifestEntries>
  <Main-Class>your.main.class</Main-Class>
  <Class-Path>your/class/path/here</Class-Path>
 </manifestEntries>
</transformer>

你的主课
您的/类/路径/此处

标记标记
中的差异正如您要添加到这个答案中的

一样,我还忘了在mainfestEntries中添加类路径,这是一个愚蠢的错误。本想早点回答我自己的问题,但却忘了!谢谢你的提醒。看看吧,它对我也不起作用。我得到了。。。类org.apache.maven.plugins.shade.resource.ManifestResourceTransformer中的[警告]映射将值类型声明为:class java.util.jar.Attributes,但在运行时saw:class java.lang.String[错误]无法执行目标org.apache.maven.plugins:maven shade plugin:2.1:shade(默认)在project eigor cli上:无法分析mojo org.apache.maven.plugins的配置:maven shade plugin:2.1:shade for parameter resource:在类org.apache.maven.plugins.shade.resource.ManifestResourceTransformer->[帮助1]
 <manifestEntries>
  <Class-Path>. ./config</Class-Path>
 </manifestEntries>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
 <manifestEntries>
  <Main-Class>your.main.class</Main-Class>
  <Class-Path>your/class/path/here</Class-Path>
 </manifestEntries>
</transformer>