pom 文件
<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
<cache>cachecloud_test</cache>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prd</id>
<properties>
<profileActive>prod</profileActive>
<cache>cachecloud_production</cache>
</properties>
</profile>
</profiles>
properties文件
cachecloud_env=@cache@
打完包发现 @cache@ 没有被替换为cachecloud_test
换成${cache} 也不行
pom文件里加了这个也不好使
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>utf-8</encoding>
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
</pluginManagement>
maven 的 profile只对pom.xml里的变量替换起作用, 你想要改properties文件,需要建不同版本的文件,放在不同的子目录下,如
src/main/resources/test/a.properties
,和src/main/resources/prod/a.properties
通过profile开关,决定引入哪个目录下的文件。
如:
pom.xml的resources先排除这部分重复的文件,
再通过${profiles.active}激活当前profile下的目录。
参考下面的配置: