2013-08-01 5 views
5

मैं अनुसरण कर रहा हूं thisअनुबंध पहले का उपयोग कर CXF ट्यूटोरियल और जब तक जिसके परिणामस्वरूप pom.xml स्रोतों उत्पन्न करता है और यहां तक ​​कि कम्प्लिट्स सफलतापूर्वक निर्माण, यह एक युद्ध फ़ाइल बनाने के लिए विफल रहता है।एक मैवेन-वॉर-प्लगइन एक युद्ध के बजाय एक जेएआर क्यों उत्पन्न करेगा?

इसके बजाय, यह एक जेएआर फ़ाइल बनाता है।

मेरे समझ है कि है pom.xml युद्ध बनाने के लिए जिम्मेदार है कि में हिस्सा है:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.1.1</version> 
    <configuration> 
    <outputDirectory>D:/path/to/profile/autodeploy</outputDirectory> 
    </configuration> 
</plugin> 

मैं नहीं किसी भी <goal> या <execution> तत्व (विपरीत build-helper-maven-plugin एक में) देख पा रहे हैं, लेकिन मैं यह भी समझते हैं कि इस प्लगइन के साथ इस रूप में निहित है भी official usage page को दर्शाता है:

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    ... 
</project> 

तो ... मैं क्या याद आ रही है?

संभवतः maven-war-plugin को समझाया जा सकता है जो इस तरह के अप्रत्याशित तरीके से व्यवहार करता है और डिफ़ॉल्ट रूप से WAR के बजाय एक JAR उत्पन्न करता है?

क्या युद्ध का उत्पादन करने के लिए इसे मजबूर करने का कोई तरीका है?

+5

पीओएम में कहीं भी ' युद्ध 'होना चाहिए? – Thilo

उत्तर

13

पैकेजिंग नीचे जैसा होना चाहिए।

<packaging>war</packaging> 

यदि यह मदद नहीं करेगा तो लाइफसाइकिल चरण के साथ अपने प्लग-इन कॉन्फ़िगरेशन को बाध्य करने का प्रयास करें।

4

अपनी परियोजना परिभाषा में, कृपया जांचें कि पैकेजिंग गुम है या नहीं, यह कुछ ऐसी चीज होनी चाहिए।

<groupId>some.groupid</groupId> 
    <artifactId>My Web Application</artifactId> 
    <version>0.0.1</version> 
    <packaging>war</packaging> 
    <description>My First Web Application</description> 

डिफ़ॉल्ट Maven युद्ध प्लगइन करके, package phase of the lifecycle को बांधता है तो यह महत्वपूर्ण है कि हम पैकेजिंग के प्रकार के एक बार निर्माण किया जाता है हम चाहते हैं उल्लेख करना चाहिए।

मैं Maven specs for war plugin पर एक नज़र डालने का सुझाव देना चाहता हूं।

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