我正在开发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 =发布。
令人沮丧的是我无法使用其他配置文件。
最佳答案
添加您的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配置文件是不同的东西。
关于java - Maven配置文件未激活,默认配置文件除外,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53817825/