maven打包动态加载配置文件
在以前发布 LOCAL、SIT、生产 进行打包的时候,一般会选择两种解决方式
1. 每次更改配置文件的内容(路径、数据库配置等)
2. 将不同的环境分开。打包测试就开启测试环境的代码,打包发布生产就打开生产的项目代码。(此种情况适合流程化管理)
很多时候是 本地、测试、生产打包都归你一个人操作的时候,启动多个项目或者修改配置文件就比较麻烦了。可以选择动态加载配置文件的方式,如下。
一:如图所示,在每次packet(3所示)之前,选择2处对应的环境,即可完成对应环境的打包。 (注意clean)

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>
三:调用的时候 注意路径(目标路径+你的配置文件名即可)