2012-08-24 6 views
9

例:MavenプロファイルでwarにwebResourcesを追加し、プロファイルされていないwebResourcesを追加することはできますか?

「プロファイル」プロファイルがアクティブなときに、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のWordの差分

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"を追加してみてください-profile plugin-私はそれがうんざりしていると思います。フォールトの動作とは、プロファイル設定がツリー上の同じ名前のものを上書きすることを意味します。属性のマージ/追加の詳細については、http://maven.apache.org/pom.html#Pluginsを参照してください。

+0

それは働いた:)! –

関連する問題