除了默认配置文件外,Maven 配置文件未激活
Posted
技术标签:
【中文标题】除了默认配置文件外,Maven 配置文件未激活【英文标题】:Maven profiles are not activating except default profile 【发布时间】:2019-05-17 23:21:55 【问题描述】:我正在开发一个 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 中得到它。 激活属性=@激活属性@
如果我设置<activeByDefault>true</activeByDefault>
,那么我将在 application.properties 中获取值。
激活属性=释放。
令人沮丧的是我无法使用其他个人资料。
【问题讨论】:
我认为您需要在 -P 和配置文件名称之间添加一个空格。 @JJF 有或没有空格都是一样的。 【参考方案1】:添加你的 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 配置文件是不同的东西。
【讨论】:
您认为为什么需要<filtering>true</filtering>
员工?
因为这将允许您将 以上是关于除了默认配置文件外,Maven 配置文件未激活的主要内容,如果未能解决你的问题,请参考以下文章
Maven:配置文件激活取决于 localRepository 属性?
spring boot 在 application.properties 中使用 spring.profile.default 时未加载默认配置文件