我正在运行一个简单的maven项目(maven版本3.3.9),其中包含配置文件并过滤资源。似乎过滤总是在默认配置文件中完成。
src / main / filters中有2个配置文件(默认):config-dev.properties和config-prod.properties只包含一个变量 application.env =发展 application.env =生产
src / main / resources(默认)中的资源文件,包含以下内容:
We are working on ${application.env}
使用的命令行是 mvn clean resources:resources -Pprod
预期输出
We are working on production
但过滤后的资源文件包含
We are working on development
Maven pom片段看起来像:
<build>
<finalName>test-maven-module</finalName>
<filters>
<filter>src/main/filters/config-${build.profile.id}.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
和个人资料配置
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>dev</build.profile.id>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<build.profile.id>prod</build.profile.id>
</properties>
</profile>
</profiles>
有什么建议吗?
答案 0 :(得分:0)
我在帖子Eclipse + maven : profile ignored
上找到了解决方案问题在于使用“使用本机挂钩或轮询刷新”选项(首选项&gt;一般&gt;工作空间&gt;使用本机挂钩刷新)。取消选中此选项可解决问题。