在 spring boot @activeprofile 注释中配置 Maven 配置文件
configure maven profiles in spring boot @activeprofile annotation
我已经阅读了很多书,但找不到告诉我如何在 @activeprofiles 注释中包含 maven 配置文件的解决方案。可不可以?
我试图解决的问题是在我的测试执行之前让 H2 和飞路启动,但这并没有发生。 pom.xml 中的 maven 配置文件中描述了配置。
当在 teamcity 中测试 运行 时,它会选择 maven 配置文件并执行,但作为独立的,它们找不到 H2 和 flyway 的配置,因此无法启动。
... can't find a solution that tells me how to inlucde the maven
profiles in @activeprofiles annotation.
你的意思是根据 maven 配置文件激活 Spring 配置文件,如果是这样,你可以在你的 pom.xml:
中这样配置它
<profiles>
<profile>
<id>mvnprofile</id>
<properties>
<spring.profiles.active>springprofile</spring.profiles.active>
</properties>
<dependencies>
<dependency>
</dependency>
</dependencies>
</profile>
...
</profiles>
在您的测试中 class 配置它应该 运行 在 ..
上的配置文件
@Runwith(..)
@SpringApplicationConfiguration(...)
@ActiveProfiles("springprofile")
public class YourTest { ... }
对于特定于配置文件的属性,除了 application.properties
之外,还要创建一个 application-springprofile.properties
,Spring 引导将首先加载 application.properties,然后加载应用程序-springprofile.properties -- 覆盖之前从 application.properties 配置的任何属性。
最后,您使用 -P 标志设置 maven 配置文件
$mvn test -P mvnprofile
我已经阅读了很多书,但找不到告诉我如何在 @activeprofiles 注释中包含 maven 配置文件的解决方案。可不可以?
我试图解决的问题是在我的测试执行之前让 H2 和飞路启动,但这并没有发生。 pom.xml 中的 maven 配置文件中描述了配置。 当在 teamcity 中测试 运行 时,它会选择 maven 配置文件并执行,但作为独立的,它们找不到 H2 和 flyway 的配置,因此无法启动。
... can't find a solution that tells me how to inlucde the maven profiles in @activeprofiles annotation.
你的意思是根据 maven 配置文件激活 Spring 配置文件,如果是这样,你可以在你的 pom.xml:
中这样配置它<profiles>
<profile>
<id>mvnprofile</id>
<properties>
<spring.profiles.active>springprofile</spring.profiles.active>
</properties>
<dependencies>
<dependency>
</dependency>
</dependencies>
</profile>
...
</profiles>
在您的测试中 class 配置它应该 运行 在 ..
上的配置文件@Runwith(..)
@SpringApplicationConfiguration(...)
@ActiveProfiles("springprofile")
public class YourTest { ... }
对于特定于配置文件的属性,除了 application.properties
之外,还要创建一个 application-springprofile.properties
,Spring 引导将首先加载 application.properties,然后加载应用程序-springprofile.properties -- 覆盖之前从 application.properties 配置的任何属性。
最后,您使用 -P 标志设置 maven 配置文件
$mvn test -P mvnprofile