14

私は日陰のプラグインとすべてのものを使用していますが、私はドキュメントMaven Shade Pluginでマニフェストクラスパスを設定するには?

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

を見てみると

[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] 

を取得

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

経由マニフェストのためのクラスパスを設定することができることを除いて正常に動作します

有効なマニフェストリソースを解析できる必要がありますか?私はclss-pathクラスパスを試してみました。クラスパスは何も動作しません...

外部アプリのプロパティファイルの場所を設定するにはクラスパスが必要です。

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

は私が道でかなり簡単組み立てでこれを行うことができます:(と、それは動作します)

<manifestEntries> 
    <Class-Path>. ./config</Class-Path> 
</manifestEntries> 
私が原因でよく知られた問題のシェードプラグインの代わりに、アセンブリを使用してい

マニフェストエントリを設定できないため、oneJarプラグインをmaven経由で使用することはできません。 (私はないと思う?)

アイデア?

答えて

23

これを試してみて、それがのmaven-シェードプラグインのバージョン2.1で動作するはずです:あなたはこの答えに追加するには<classPath>

+0

を持っていたとして

<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>の違いを、私も入れて忘れてしまいましたmainfestEntriesのClass-Pathは愚かな間違いでした。早く自分のqに答えることを意味するが、忘れてしまった!思い出してくれてありがとう。 – sloven

+0

@JamesRobinson、それは正しい答えですか? :P – 0xbe5077ed

+0

バージョン2.3で試してみました。動作していません。 :/ – Wrench

関連する問題