14

मैं छाया प्लगइन और सब कुछ का उपयोग कर रहामेवेन छाया प्लगइन में मेनिफेस्ट क्लास-पथ कैसे सेट करें?

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

मिल डॉक

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

को देखते हुए

किसी भी वैध प्रकट संसाधन को पार्स करने में सक्षम होना चाहिए? मैंने क्लैस-पथ क्लास-पथ क्लासपाथ की कोशिश की कुछ भी काम नहीं करता ...

मुझे बाहरी ऐप प्रॉपर्टी फ़ाइलों के स्थान को सेट करने के लिए क्लासपाथ की आवश्यकता है।

मैं एक अच्छी तरह से ज्ञात समस्या के कारण छाया प्लगइन के बजाय विधानसभा उपयोग कर रहा हूँ:

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

मैं जिस तरह से बहुत आसानी से विधानसभा में यह कर सकते हैं: (और यह काम करता है)

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

मैं मैवेन के माध्यम से वनजर प्लगइन का उपयोग नहीं कर सकता क्योंकि आप या तो मैनिफेस्ट प्रविष्टियां सेट नहीं कर सकते हैं। (मुझे नहीं लगता?)

कोई विचार?

उत्तर

23

इस कोशिश करो और यह Maven-छाया-प्लगइन संस्करण 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>

+0

इस उत्तर को जोड़ने के लिए किया था, मैं भी लगाना भूल गए मेनफेस्ट एंटर्रीज़ में क्लास-पथ, जो एक मूर्खतापूर्ण गलती थी। मेरा खुद का क्यू जल्द जवाब देने का मतलब है, लेकिन भूल गया! अनुस्मारक के लिए धन्यवाद। – sloven

+0

@ जेम्ससबिनसन, क्या यह भी सही जवाब है? : पी – 0xbe5077ed

+0

इसे संस्करण 2.3 में कोशिश नहीं की, काम नहीं कर रहा है। :/ – Wrench

संबंधित मुद्दे