2012-08-24 5 views
9

उदाहरण:क्या मैं एक मैवेन प्रोफाइल को युद्ध में वेब स्रोत जोड़ सकता हूं और फिर भी गैर-प्रोफाइल वाले वेब स्रोत जोड़ सकता हूं?

मुझे आशा है कि और जब "प्रोफ़ाइल" प्रोफ़ाइल सक्रिय है निम्नलिखित पोम दोनों profileResources और commonResources तैनात करने की उम्मीद करेंगे, लेकिन यह केवल profileResources तैनात। वांछित प्रभाव प्राप्त करने के लिए मैं क्या कर सकता हूं?

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.example</groupId> 
    <artifactId>test</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.0</version> 
    <profiles> 
    <profile> 
     <id>profile</id> 
     <build> 
     <plugins> 
      <plugin> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.1.1</version> 
      <configuration> 
       <webResources> 
       <resource> 
        <directory>src/main/profileResources</directory> 
       </resource> 
       </webResources> 
      </configuration> 
      </plugin> 
     </plugins> 
     </build> 
    </profile> 
    </profiles> 
    <build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.1.1</version> 
     <configuration> 
      <webResources> 
      <resource> 
       <directory>src/main/commonResources</directory> 
      </resource> 
      </webResources> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

कार्य

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.example</groupId> 
    <artifactId>test</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.0</version> 
    <profiles> 
    <profile> 
     <id>profile</id> 
     <build> 
     <plugins> 
      <plugin> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.1.1</version> 
      <configuration> 
       <webResources> 
       <resource> 
        <directory>src/main/profileResources</directory> 
       </resource> 
       </webResources> 
      </configuration> 
      </plugin> 
     </plugins> 
     </build> 
    </profile> 
    </profiles> 
    <build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.1.1</version> 
     <configuration> 
      <webResources combine.children="append"> 
      <resource> 
       <directory>src/main/commonResources</directory> 
      </resource> 
      </webResources> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

Git वर्ड के बीच टूटे हुए और कार्य संस्करण Diff (भविष्य में संदर्भ के लिए) संस्करण

diff --git a/tmp/broken-pom.xml b/tmp/working-pom.xml 
index 2fd9bbf..b04683f 100644 
--- a/tmp/broken-pom.xml 
+++ b/tmp/working-pom.xml 
@@ -31,5 +31,5 @@ 
     <version>2.1.1</version> 
     <configuration> 
      <webResources{+ combine.children="append"+}> 
      <resource> 
       <directory>src/main/commonResources</directory> 

उत्तर

9

गैर में resources तत्व को combine.children="append" जोड़ने का प्रयास करें -प्रोफाइल प्लगइन- मुझे लगता है कि यह गड़बड़ कर रहा है क्योंकि डी गलती व्यवहार का मतलब है कि प्रोफ़ाइल सेटिंग्स पेड़ के ऊपर एक ही नाम के साथ कुछ भी ओवरराइड करेगा। मर्जिंग/एपेंडिंग विशेषताओं के विवरण के लिए http://maven.apache.org/pom.html#Plugins देखें।

+0

यह काम किया :)! –

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