在spring boot @activeprofile注释中配置maven配置文件

时间:2015-06-19 23:13:34

标签: java spring-boot h2 flyway

我一直在阅读很多内容并且无法找到解决方案,告诉我如何在@activeprofiles注释中包含maven配置文件。有可能吗?

我试图在我的测试执行之前尝试解决H2和flyway启动的问题,这是没有发生的。配置在pom.xml中的maven配置文件中进行了解释。 当测试在teamcity中运行时,它会选择maven配置文件并执行但是作为独立配置,他们无法找到H2和flyway的配置并且在启动时失败。

1 个答案:

答案 0 :(得分:8)

  

...无法找到告诉我如何吸引maven的解决方案   @activeprofiles注释中的配置文件。

你的意思是基于maven配置文件激活Spring配置文件,如果是这样,你可以在你的pom.xml中配置它:

<profiles>
  <profile>
    <id>mvnprofile</id>
    <properties>
      <spring.profiles.active>springprofile</spring.profiles.active>
    </properties>
    <dependencies>
      <dependency>
      </dependency> 
    </dependencies>
  </profile>
  ...
</profiles>

在您的测试类中配置应运行的配置文件..

@Runwith(..)
@SpringApplicationConfiguration(...)
@ActiveProfiles("springprofile")
public class YourTest { ... }

对于特定于配置文件的属性,除了application-springprofile.properties之外还创建一个application.properties,Spring Boot将首先加载application.properties,然后加载application-springprofile.properties - 覆盖先前从应用程序配置的任何属性。属性。

最后,使用-P标志

设置maven配置文件
$mvn test -P mvnprofile