我正在开发Spring Boot应用程序。我的POM中有两个配置文件,但是当我尝试使用clean install -Pdev构建项目时,它没有反映出application.properties中的更改,它仅反映了我在其中一个配置文件中使用“ activeByDefault”标签时的情况。
<profiles>
<profile>
<id>dev</id>
<properties>
<activatedProperties>dev</activatedProperties>
</properties>
</profile>
<profile>
<id>release</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<activatedProperties>release</activatedProperties>
</properties>
</profile>
</profiles>
如果我运行全新安装-Pdev,则会在application.properties中得到它。 ActivatedProperties = @ activatedProperties @
如果我设置<activeByDefault>true</activeByDefault>
,则将在application.properties中获取值。
ActivatedProperties = release。
沮丧的是我无法使用其他个人资料。
答案 0 :(得分:2)
添加您的application.properties
spring.profiles.active=@activatedProperties@
如果Maven在运行时找不到包含application.properties文件的目录,则需要设置Maven资源插件来过滤该目录。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
...
</build>
或者只添加要在application.properties中激活的配置文件
spring.profiles.active=dev
注意: Maven配置文件和Spring配置文件是不同的。