• maven properties 动态转换


    可以将不同profile的属性直接配置在顶级pom.xml中,这样的优点是各个module可以共用配置的属性。

    第一步,新建Spring Boot项目,修改pom.xml,添加<profiles/>配置如下:

    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <username>zhangsan</username>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <username>lisi</username>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
    </profiles>

    这里定义了dev和prod两个profile,其中默认激活的是dev。每个profile中通过<properties/>设置了属性。

    第二步,修改编译设置。这里的<filtering>true</filtering>指定了使用pom.xml中profile下的属性替换src/main/resources/下${xxx}方式的属性引用:

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    第三步,在一个module中新建src/main/resources/application.properties,内容为:

    username=${username}

    第四步,在编译命令中使用-P参数指定profile如:mvn clean install -DskipTests –Pdev,来完成指定profile环境的编译。

    查看module中的target/classes/application.properties文件,发现当-Pdev时,文件中username=zhangsan,当-Pprod时,文件中username=lisi

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    Gym 101194L / UVALive 7908
    POJ 2259
    POJ 2559
    Gym 101194E / UVALive 7901
    Gym 101194D / UVALive 7900
    一种整数集上二分的正确写法
    日常训练记录
    Gym 101194C / UVALive 7899
    Gym 101194A / UVALive 7897
    HDU 5542
  • 原文地址:https://www.cnblogs.com/lovedaodao/p/8951762.html
Copyright © 2020-2023  润新知