使用配置文件从属性文件中读取Maven变量

时间:2012-07-22 12:39:35

标签: maven configure

我想从属性文件中读取用于配置构建插件的maven变量。它不需要和其他项目文件,例如上下文文件。

1)制作了一个配置文件(它有效,可以使用mvn ... -P private)

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

很多

2 个答案:

答案 0 :(得分:0)

您的媒体资源名称为“env”,但您不会在配置中的任何位置使用env。

答案 1 :(得分:0)

当Maven文档提及&#34;过滤文件&#34;它们通常表示处理资源时使用的文件(即将资源从/src/main/resources复制到target/classes)。据我所知,这些文件中的属性不能用于开箱即用的插件配置。我已经使用Codehaus properties-maven-plugin:read-project-properties目标来做你正在尝试的事情。确保在任何需要config属性的插件之前将目标绑定到生命周期。

另见this answer;您可以加载用于配置其他插件的属性,但不能加载核心Maven项目元素。