/ / मेवेन वेबपैप - वेबपैप से प्राप्त जार से जावा संसाधनों को बाहर निकालें - वेब-एप्लिकेशन, मैवेन, संसाधन, जार, युद्ध

मेवेन वेबपैप - वेबपैप से प्राप्त जार से जावा संसाधनों को बाहर निकालें - वेब-एप्लिकेशन, मैवेन, संसाधन, जार, युद्ध

मुझे एक काफी विशिष्ट समस्या है। मैंने एक वेबपैप बनाया और वेब युद्ध के अतिरिक्त कक्षाओं का एक जार निर्माण करना चाहता हूं। कोई समस्या नहीं, मैंने ऐसा किया:

    <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>

इसके द्वारा भी संसाधनsrc / main / संसाधन जार में जाते हैं। लेकिन चूंकि ये संसाधन केवल इस वेब एप्लिकेशन के लिए हैं, मैं उन्हें जार में नहीं चाहता हूं। मैं उन्हें वेबैप src फ़ोल्डर में ले जा सकता हूं, लेकिन मुझे गुण फ़ाइल पर फ़िल्टरिंग की आवश्यकता है, इसलिए इसे संसाधन फ़ोल्डर होना चाहिए और इसलिए एक युद्ध / जार निर्माण द्वारा शामिल हो जाता है।

<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>

मैंने मेवेन-जार-प्लगइन को कॉन्फ़िगर करके उन्हें बाहर करने का प्रयास किया:

  <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<excludes>
<exclude>**properties</exclude>
</excludes>
</configuration>
</plugin>

जार द्वारा एक सिंगल जार बिल्ड के लिए ठीक काम करता है: जार, लेकिन दुर्भाग्यवश इंस्टॉल चरण द्वारा किए गए जार बिल्ड के लिए नहीं।

क्या इन विन्यासों को मेवेन-वॉर-प्लगइन में लागू करने का कोई तरीका है?

मुझे पता है कि मैं एक जार बनाने, इसे स्थानीय रूप से स्थापित करने और रिमोट रिपोजिटरी में तैनात करने के लिए निष्पादन जोड़कर कॉन्फ़िगरेशन बढ़ा सकता हूं, लेकिन यह थोड़ा गड़बड़ है।

किसी भी मदद का स्वागत है।

उत्तर:

जवाब के लिए 2 № 1

ऐसा करने का एक तरीका जावा को ले जाकर होगाएक अलग परियोजना के स्रोत, जिसे आप फिर निर्भरता के रूप में युद्ध परियोजना में शामिल करते हैं। इस तरह, आपके पास JAR फ़ाइल में जो कुछ भी जाता है उस पर नियंत्रण होता है और आप अन्य फ़ाइलों को WAR प्रोजेक्ट में रख सकते हैं, फ़िल्टरिंग आदि लागू कर सकते हैं।

मैंने पाया कि कार्यक्षमता को अलग करनाठीक-ठीक प्रोजेक्ट अक्सर जटिल कॉन्फ़िगरेशन के साथ कई प्लगइन स्थापित करने के बजाय चीजों को हल करने का सबसे अच्छा तरीका होता है। यदि इसे एक जटिल सेटअप की आवश्यकता है, तो यह शायद गलत तरीका है। इसे सरल रखने की कोशिश करें :-)