2009-08-20 13 views
8

के साथ एक पैक किए गए वेबपैप से कक्षाओं को कैसे बाहर निकालना है/मैं/लक्ष्य/कक्षाओं/वेब/वेब/आईएनएफ/कक्षाओं में जाने से कुछ कक्षाओं/लक्ष्य/कक्षाओं में फ़िल्टर कैसे कर सकता हूं? मैं उन्हें अंतिम लक्ष्य में नहीं/लक्ष्य/कक्षाओं में संकलित करना चाहता हूं।मैवेन

उत्तर

0

आप ट्रूज़िप मेवेन प्लगइन (http://mojo.codehaus.org/truezip-maven-plugin/) का उपयोग कर सकते हैं।

http://svn.codehaus.org/mojo/trunk/mojo/truezip-maven-plugin/src/it/

+1

धन्यवाद, लेकिन ऐसा लगता है कि मैं WAR से फ़ाइलों को हटाने के लिए इसका उपयोग कर सकता हूं, जो अच्छा है, लेकिन मैं उन्हें काम करने वाली वेबैप निर्देशिका से बाहर रखना भी चाहूंगा ताकि "स्थान पर चलें" साथ ही काम करेगा। – kebernet

1

क्या के लिए इन कक्षाओं में हैं:

में उदाहरण देखें? यदि वे परीक्षण के लिए हैं, तो आप उन्हें src/test/java में निर्दिष्ट कर सकते हैं, फिर उन्हें परीक्षण-संकलन चरण में लक्ष्य/परीक्षण-वर्गों में संकलित किया जाएगा, लेकिन अंतिम युद्ध में शामिल नहीं किया जाएगा।

यदि वे परीक्षण के लिए नहीं हैं और युद्ध में शामिल नहीं हैं, तो शायद उन्हें किसी अन्य प्रोजेक्ट में दोबारा शामिल किया जाना चाहिए ताकि आप इसे निर्भरता के रूप में निर्दिष्ट कर सकें (शायद "प्रदान किए गए" दायरे के साथ तैनात किया जा

संदर्भ के लिए आप युद्ध कॉन्फ़िगर जब पैकेजिंग में शामिल हैं और संसाधनों बाहर करने के लिए कर सकते हैं

निम्न उदाहरण सभी jpgs शामिल हैं, लेकिन Image2 उप फ़ोल्डर से संसाधनों को बाहर निकाल देगा:।।

<configuration> 
     <webResources> 
     <resource> 
      <!-- this is relative to the pom.xml directory --> 
      <directory>resource2</directory> 
      <!-- the list has a default value of ** --> 
      <includes> 
      <include>**/*.jpg</include> 
      <includes> 
      <excludes> 
      <exclude>**/image2</exclude> 
      </excludes> 
     </resource> 
     </webResources> 
    </configuration> 

अधिक जानकारी के लिए war plugin documentation देखें।

+1

कक्षाएं जीडब्ल्यूटी क्लाइंट साइड कक्षाओं को संकलित की जाती हैं जिन्हें सर्वर पर होने की आवश्यकता नहीं होती है, लेकिन उन्हें/लक्ष्य/कक्षाओं में संकलित करने की आवश्यकता होती है ताकि जीडब्ल्यूटी संकलन, परीक्षण और होस्ट किया गया रन ठीक से काम करता है। – kebernet

+0

उन्हें निश्चित रूप से आपके रास्ते पर होना चाहिए, लेकिन क्या आप उन्हें एक जार प्रोजेक्ट में नहीं ले जा सकते हैं और इसे युद्ध के लिए "प्रदत्त" दायरे निर्भरता के रूप में जोड़ सकते हैं? –

+1

मैं कर सकता था, मैं बस ऐसा करने की उम्मीद नहीं कर रहा हूं। यह एक होस्टेड मोड ब्राउज़र को एक बहु-चरण प्रक्रिया कताई बनाता है। – kebernet

0

आप इस के साथ भाग्य हो सकता है, तो आप उन्हें एक पैकेज में यह सोचते हैं कि आप एक चींटी पैटर्न

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.0.2</version> 
     <configuration> 
       <excludes>**/dontneed/*.class</excludes> 
     </configuration> 
    </plugin> 
+0

के लिए संसाधनों को फ़िल्टर करने पर अनुभाग शामिल किया है यह काम नहीं करता है। कक्षाएं अभी भी जोड़े गए हैं। –

+0

<पैकेज शामिल है> काम करता है, लेकिन केवल युद्ध के लिए: युद्ध, युद्ध के लिए नहीं: विस्फोट हुआ। http://jira.codehaus.org/browse/MWAR-264 –

+0

यह मेरे लिए '0 9 में वापस काम किया! मुझे लगता है कि कुछ बदल गया है। – sal

0

Maven युद्ध प्लगइन के वर्तमान संस्करण (3.0.0) के साथ यह मेरे लिए काम करता है के साथ परिभाषित कर सकते हैं -

<profile> 
    <id>abc</id> 
    ... 
    <build> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>3.0.0</version> 
     <configuration> 
      <packagingExcludes>WEB-INF/classes/com/abc/pqr/ClassName.class</packagingExcludes> 
     </configuration> 
     </plugin> 
    </build> 
</profile>