2013-03-29 16 views
1

我目前正在將Java Web Project構建過程從Ant遷移到Maven。當前進程使用幾個特定於環境的屬性文件,這些文件根據提供給Ant的環境參數在WAR文件生成期間插入到主應用程序屬性中。什麼是Maven的Ant的<property>「前綴」屬性的副本?

One的功能,Maven中我無法輕易複製的屬性文件的前綴,即:

<property name="some.env.file" value="someEnv.properties"/> 
<property file="${some.env.file}" prefix="some.env"/> 

這個前綴的所有屬性的文件,「some.env」,並在應用性能都包含佔位符這個前綴,即:

some.property=${some.env.propertyOne} 

Maven提供pom.xml的過濾器和過濾元件,以允許替換的屬性,但我無法找到一個方法來預先考慮所有屬性的名稱在一個文件設置爲特定的環境前綴建立參數ter,這迫使我重複Maven構建過程的屬性文件。有沒有一種方法可以在Maven中複製此Ant的原始功能?

回答

1

我建議你使用maven-antrun-plugin通過一個簡單的ant任務使用前綴加載屬性文件。並且啓用exportAntProperties,以便在maven中定義由ant定義的屬性。

類似這樣的東西會在驗證階段(以及後面的所有階段)中在你的maven版本中引入由ant定義的所有屬性。

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
     <execution> 
     <phase>validate</phase> 
     <configuration> 
      <exportAntProperties>true</exportAntProperties> 
      <target> 
      <property file="${some.env.file}" prefix="some.env"/> 
      </target> 
     </configuration> 
     <goals> 
      <goal>run</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
+0

正常工作,謝謝! – acalypso

相關問題