मेरे पास एक प्रोजेक्ट है जिससे मैं एक वितरण ज़िप फ़ाइल बनाने की कोशिश कर रहा हूं, जिसमें मेरे जावा प्रोजेक्ट की निर्भरताओं के साथ एक निष्पादन योग्य जार शामिल है (अन्य फाइलों के साथ)।मेवेन-असेंबली प्लगइन - नेस्टेड असेंबली कैसे बनाएं
तो मैं इन सबसे छुटकारा पाना इस तरह दिखना चाहते हैं:
-wiki-search-1.0.0-dist.zip
-wiki-search.bat
-wiki-search-help.html
-wiki-search-1.0.0-jar-with-dependencies.jar
-jar content...
मैं विधानसभा प्लगइन का उपयोग कर रहा है, और पूर्वनिर्धारित वर्णनकर्ता "जार-साथ-निर्भरता" मेरे निष्पादन योग्य जार फ़ाइल बनाने के लिए।
मैं अपने पोम में एक अलग असेंबली प्लगइन प्रविष्टि निर्दिष्ट कर रहा हूं, वितरित ज़िप फ़ाइल को आजमाने और बनाने के लिए कस्टम डिस्क्रिप्टर का संदर्भ देता हूं।
तो मेरी पोम का हिस्सा इस तरह दिखता है:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>quicksearch.QuickSearchApp</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>attached</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/main/assembly/dist.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>attached</goal>
</goals>
</execution>
</executions>
</plugin>
और अपने कस्टम वर्णनकर्ता इस तरह दिखता है:
<assembly>
<id>dist</id>
<formats>
<format>tar.gz</format>
<format>tar.bz2</format>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<includes>
<include>${project.basedir}/target/wiki-search-0.0.1-SNAPSHOT-jar-with-dependencies.jar</include>
</includes>
<outputDirectory>.</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.basedir}/src/main/etc</directory>
<includes>
<include>*</include>
</includes>
<outputDirectory></outputDirectory>
</fileSet>
</fileSets>
</assembly>
सब कुछ ठीक काम करता है। जार-निर्भरताएं बनाई जा रही हैं। मेरी डिस्ट ज़िप फ़ाइल बनाई जा रही है। लेकिन dist ज़िप फ़ाइल में जार-निर्भर-निर्भरता फ़ाइल नहीं है।
+1 बहुत अच्छी और विस्तृत जवाब –
लीजेंड । पहली बार काम किया। चीयर्स। – Ben
धन्यवाद! क्या डिफ़ॉल्ट जीवन चक्र में निष्पादन को संलग्न किए बिना इसे प्राप्त करने का कोई तरीका है? बस 'चरण' और 'लक्ष्यों' तत्वों को छोड़कर मेरे लिए काम नहीं किया। –