我想从属性文件中读取用于配置构建插件的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>
很多
答案 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项目元素。