我正在使用shade插件,一切正常,除了能够通过
设置清单的类路径 <transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.generic.App</mainClass>
<classPath>. ./config</classPath>
</transformer>
我得到了
[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]
查看文档
应该能够解析任何有效的清单资源吗?我试过clss-path Class-Path ClassPath什么都行不通......
我需要classpath来设置外部app属性文件的位置。
由于众所周知的问题,我使用的是阴影插件而不是汇编:
http://blog.idm.fr/2009/09/maven-assembly-plugin-and-spring-namespace-handlers.html
顺便说一句,我可以很容易地在装配中做到这一点:(并且它有效)
<manifestEntries>
<Class-Path>. ./config</Class-Path>
</manifestEntries>
我无法通过maven使用oneJar插件,因为您也无法设置清单条目。 (我不认为?)
有什么想法吗?
答案 0 :(得分:28)
尝试这个,它应该适用于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>