我有以下maven配置文件
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>spring.profiles.active</name>
<value>dev</value>
</property>
</activation>
</profile>
<profile>
<id>test</id>
<activation>
<property>
<name>spring.profiles.active</name>
<value>test</value>
</property>
</activation>
</profile>
</profiles>
我在应用程序中有这个。属性
spring.profiles.active=dev
因此,dev是Spring和maven配置文件的默认值。
根据文档,这应该覆盖我的属性文件中的dev
值
http://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html
69.5设置活动Spring外形
Spring环境对此有一个API,但通常您会设置一个系统属性(Spring.profiles.active)或一个OS环境变量(Spring\u profiles\u active)。例如,使用-D参数启动应用程序(记住将其放在主类或jar存档之前):
$java-jar-Dspring。个人资料。活动=生产演示-0.0.1-快照。罐子
在Spring Boot中,您还可以在应用程序中设置活动配置文件。属性,例如。
Spring个人资料。活动=生产
以这种方式设置的值将被System属性或环境变量设置替换,但不会被SpringApplication ationBuilder.profiles()方法替换。因此,后者JavaAPI可以用来在不改变默认值的情况下增强配置文件。
有关更多信息,请参阅第25章,Spring Boot功能部分中的配置文件。
现在,当我运行我的Spring应用程序时,它正在Spring中使用测试
配置文件,但是maven配置文件激活并没有在这一点上起作用,仍然在使用开发
配置文件。
我已经尝试将SPRING_PROFILES_ACTIVE
设置为中的名称
如果我在使用
-Dspring运行maven时提供变量,它确实有效。个人资料。活动=测试
。
非常感谢您的帮助。
编辑:显然,当我部署一个战争到tomcat,其中
catalina.properties
包含spring.profiles.active=test
时,这也不起作用。同样的事情,Spring使用test
,但是Maven仍然停留在dev
上。
使用环境变量激活配置文件怎么样?
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>spring.profiles.active</name>
<value>dev</value>
</property>
</activation>
</profile>
<profile>
<id>test</id>
<activation>
<property>
<name>env.SPRING_PROFILES_ACTIVE</name>
<value>test</value>
</property>
</activation>
</profile>
</profiles>
不幸的是,你想做的是不可能的。配置文件只能从命令行或在某些情况下从设置激活。xml
。看看这个答案。这篇文章包括有关JIRA议题的链接,讨论了挑战以及其他人试图让它发挥作用的内容。
系统属性在命令行上设置。
出于某种原因,我不得不使用环境变量,而不是将系统属性传递给mvn命令。所以,我使用${env。PROFILE}作为属性名,pom.xml中的配置文件设置显示如下: 然后,我尝试激活配置文件到在线,但我失败了,命令行显示如下: 然后打开maven调试模式(-X),属性如下所示: 我们可以在上述属性列表中找到属性: “PROFILE”变量似乎是在envrionment中设置的。但是,“在线”配置文件未
Maven允许根据其运行的操作系统系列激活某些构建概要文件,例如: 这里有很多问题:那么的允许值是多少?它们区分大小写吗?Linux是吗?还是?等等。 我可以在哪里找到关于允许的值的信息-或者,至少,Maven从哪里获取这些值?环境变量?
我有一个Maven项目https://github.com/paulvi/MavenMultiModule1 用根pom.xml 我希望能够分别构建子系统, 例如,和 两个配置文件都可见,但无法使用开关激活 和其他项目一起工作 这里缺少什么来激活配置文件或者构建子系统的更好方法? 我已经阅读了如何激活从属模块中的Maven配置文件?
我无法激活IntelliJ idea中的Spring下载配置文件。 爪哇17 IntelliJ IDEA 2021.3测试版(终极版) 这是文件pom.xml,我正在尝试运行的微服务。 文件application.yaml
1.1. 文件系统配置 2. define CONFIG_EXTRA_ENV_SETTINGS \ 1.1. 文件系统配置 Rootfs文件系统设置成ubifs readonly,相应mount命令在uboot中设置,如下: $(K18DIR)/uboot/include/configs/leo_common.h / Extra Environment / … "mtdargs=ubi.mtd="
我声明了一些特定于Maven配置文件的属性。我的pom.xml的一部分: 当我通过IntelliJ IDEA 2016启动Junit测试时,我在使用“ci”Maven配置文件时遇到一些问题。我通过“Maven项目”面板激活我的配置文件,然后启动测试。问题是“my.properties.file”属性值等于“foo.xml”,而不是“bar.xml”。 我对命令行没有问题(我可以使用“-Pci”标志