使用Maven进行构建时选择弹簧轮廓

时间:2018-08-31 07:04:36

标签: spring maven spring-boot

我正在尝试为生产环境创建一个版本。在我的spring Web应用程序中,我有4个.yml文件

  1. application.yml
  2. application-development.yml
  3. application-staging.yml
  4. application-production.yml

在application.yml文件中,我指定了

spring:
  profiles:
    active: production

我正在使用Maven创建构建的命令是

mvn clean install tomcat7:deploy -B -Pproduction

在目标文件夹中,我看不到所有属性和生产设置。

我得到的是我的默认application.yml属性。如何正确构建?

1 个答案:

答案 0 :(得分:0)

在您的application.yml中,添加如下内容:

spring:
  profiles:
    active: @active-profiles@

然后尝试:

mvn clean install tomcat7:deploy -B -P production

pom.xml 中(在mvn命令- production 概要文件中传递了maven概要文件,该概要文件查找该属性并在春季之前替换了application.yaml中的属性-boot-maven-plugin内置于 spring-boot-starter-parent

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.2.RELEASE</version>
    <relativePath />
</parent>
.
.//Dependencies go here
.
<profiles>
        <profile>
            <id>production</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <active-profiles>production</active-profiles>
            </properties>
        </profile>
   </profiles>

更多信息,在这里:

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html

http://dolszewski.com/spring/spring-boot-properties-per-maven-profile/

Maven resource filtering not working - because of spring boot dependency