2011-01-25 94 views
2

我在基,聚甲醛其中使用一個屬性,該屬性是通過一個子POM(應用程序服務器模塊的部署地點)中所定義限定的輪廓。該配置文件應在初始完整構建之後使用,並由此繼承到所有子組件。什麼時候屬性解決?

的問題是:如何/時這種特性解析:做最初的全力打造,或做一個特定的部分組件的本地編譯時什麼時候?

<profile> 
    <id>quickdeploy</id> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <configuration> 
      <outputDirectory>${ear.path}</outputDirectory> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</profile> 

${ear.path}在一個子模塊定義...

回答

0

我只是嘗試了你的問題創造了兩個文物與m2eclipse的。首先是q4794952.base這是一個簡單的maven項目,並且其類型設置爲pom。然後,我創建了第二個工件(右鍵單擊基礎工程,New => Maven => Maven Module),該工具自動在基礎工件內部創建父標記和(子)模塊。

當使用像上面的過程創建的模塊結構(或者在標記已知模塊的genereal中)時,子模塊的屬性知道「base」,並將在「full-Build 「(通過使用help:effective-pom和當然的構建結果可以看出)。如果只構建子模塊,它也會被解析,因爲配置文件是從父pom中獲取的,並且屬性在(子)模塊中設置。

這裏是我的 「basepom」:

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.stackoverflow</groupId> 
    <artifactId>q4794952.base</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>pom</packaging> 
    <profiles> 
    <profile> 
    <id>quickdeploy</id> 
    <build> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
      <outputDirectory>${ear.path}</outputDirectory> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
    </profile> 
    </profiles> 
    <modules> 
    <module>q4794952.sub</module> 
    </modules> 
</project> 
相關問題