如何在 Maven Shade 插件中设置清单类路径?

2024-03-28

我正在使用阴影插件,除了能够通过设置清单的类路径之外,一切正常

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

I get

 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.1:shade (default)              on project SpringThing: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:2.1:shade for parameter transformer: Cannot find setter, adder nor field in org.apache.maven.plugins.shade.resource.ManifestResourceTransformer for 'classPath' -> [Help 1]

看医生

http://maven.apache.org/plugins/maven-shade-plugin/apidocs/org/apache/maven/plugins/shade/resource/ManifestResourceTransformer.html http://maven.apache.org/plugins/maven-shade-plugin/apidocs/org/apache/maven/plugins/shade/resource/ManifestResourceTransformer.html

应该能够解析任何有效的清单资源吗?我尝试了 clss-path Class-Path ClassPath 没有任何效果...

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

由于一个众所周知的问题,我使用阴影插件而不是程序集:

http://blog.idm.fr/2009/09/maven-assemble-plugin-and-spring-namespace-handlers.html http://blog.idm.fr/2009/09/maven-assembly-plugin-and-spring-namespace-handlers.html

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

 <manifestEntries>
  <Class-Path>. ./config</Class-Path>
 </manifestEntries>

我无法通过 maven 使用 oneJar 插件,因为你也无法设置清单条目。 (我不认为?)

有任何想法吗?


试试这个,它应该适用于 maven-shade-plugin 版本 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>

在标签中标记差异<Class-Path>就像你一样<classPath>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Maven Shade 插件中设置清单类路径? 的相关文章

随机推荐