2012-08-24 28 views
9

Ví dụ:Tôi có thể tạo hồ sơ Maven thêm tài nguyên web vào một cuộc chiến và vẫn thêm các tài nguyên web không định cấu hình không?

Tôi hy vọng và mong đợi pom sau để triển khai cả hồ sơ tài nguyên và commonResources khi cấu hình "hồ sơ" đang hoạt động nhưng chỉ triển khai cấu hình tài nguyên. Tôi có thể làm gì để đạt được hiệu quả mong muốn?

<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> 

Version làm việc (để tham khảo trong tương lai)

<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 Lời Diff Giữa bị hỏng và làm việc phiên bản

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> 

Trả lời

9

Hãy thử thêm combine.children="append" tới phần tử resources trong phi plugin -profile-Tôi nghĩ rằng nó đang rối tung lên vì hành vi lỗi có nghĩa là các thiết lập hồ sơ sẽ ghi đè lên bất cứ điều gì có cùng tên cao hơn cây. Xem http://maven.apache.org/pom.html#Plugins để biết chi tiết về việc hợp nhất/thêm thuộc tính.

+0

Điều đó đã hiệu quả :)! –

Các vấn đề liên quan