maven打包动态加载配置文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BinCain1993/article/details/80143206
在以前发布 LOCAL、SIT、生产 进行打包的时候,一般会选择两种解决方式
1. 每次更改配置文件的内容(路径、数据库配置等) 
2. 将不同的环境分开。打包测试就开启测试环境的代码,打包发布生产就打开生产的项目代码。(此种情况适合流程化管理)

很多时候是 本地、测试、生产打包都归你一个人操作的时候,启动多个项目或者修改配置文件就比较麻烦了。可以选择动态加载配置文件的方式,如下。

一:如图所示,在每次packet(3所示)之前,选择2处对应的环境,即可完成对应环境的打包。   (注意clean)


二:具体说下pom文件配置

 
 
注:
profiles 中配置你的各个环境的包名 
targetPath 目标路径 你的这几个包名的上级包名
activeByDefault true默认显示的打包环境
详细配置说明如下:
<profiles>
    <!--本地环境-->
    <profile>
        <id>local</id>
        <properties>
            <profiles.activation>local</profiles.activation>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <!--测试环境-->
    <profile>
        <id>test</id>
        <properties>
            <profiles.activation>test</profiles.activation>
        </properties>
    </profile>
    <!--正式环境-->
    <profile>
        <id>product</id>
        <properties>
            <profiles.activation>product</profiles.activation>
        </properties>
    </profile>
</profiles>

<build>
    <finalName>你的项目取名</finalName>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
        <resource>
            <!--resources下的所有配置文件-->
            <directory>src/main/resources</directory>
            <excludes>
                <!--排除测试环境和生产环境配置文件-->
                <exclude>*/product/*.properties</exclude>
                <exclude>*/test/*.properties</exclude>
                <exclude>*/local/*.properties</exclude>
            </excludes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <!--根据profiles参数 导入测试或生产环境配置文件-->
            <directory>src/main/resources/commonConfig/${profiles.activation}</directory>
            <targetPath>commonConfig</targetPath>
            <filtering>true</filtering>
        </resource>
    </resources>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

三:调用的时候 注意路径(目标路径+你的配置文件名即可)

猜你喜欢

转载自blog.csdn.net/BinCain1993/article/details/80143206