2012-07-22 74 views
1

我想從屬性文件中讀取配置構建插件的maven變量。它不需要和更多的項目文件,例如上下文文件。從屬性文件中使用配置文件讀取Maven變量

1)條作出的輪廓(它的工作原理,可以使用MVN ... -P私人)

<profile> 
<id>private</id> 
    <properties> 
    <env>private</env> 
    </properties> 
</profile> 

2)創建過濾器文件與此內容(它的工作原理) foo.path = /家/富/路徑

3)儘量配置插件(不工作)

<build> 
<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>foo-plugin</artifactId> 
    <version>${foo-plugin.version}</version> 
    <configuration> 
    <!--<fooPath>home/foo/path></fooPath> that works --> 
    <fooPath>${foo.path}</fooPath> <!--works not --> 
    </configuration> 
... 
</build> 

THX很多

回答

0

你的財產的名稱是'env',但你不在你的配置中的任何地方使用env。

+0

env用於配置文件:mvn -P private或進一步的mvn -P默認值。該過濾器文件稱爲filter-private.properties。沒關係,我可以啓動幾個配置文件。 – 2012-07-22 12:47:39

0

當Maven文檔提到「過濾文件」時,它們通常表示處理資源時使用的文件(即將資源從/src/main/resources複製到target/classes)。據我所知,這些文件中的屬性並未用於開箱即用的插件配置。我已經使用Codehaus properties-maven-plugin:read-project-properties目標來做你正在嘗試的事情。確保在任何需要config屬性的插件之前將目標綁定到生命週期。

另外,參見this answer;您可以加載用於配置其他插件的屬性,但不能配置核心Maven項目元素。