实际开发过程中有多个环境,每次上不同环境更改配置的话不仅麻烦,而且容易出错,maven项目可以在pom文件中配置实现不同环境不同打包配置
<profiles>
<profile>
<id>test</id>
<properties>
<deploy.type>test</deploy.type>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test2</id>
<properties>
<deploy.type>test2</deploy.type>
</properties>
</profile>
<profile>
<id>sit</id>
<properties>
<deploy.type>sit</deploy.type>
</properties>
</profile>
<profile>
<id>pre</id>
<properties>
<deploy.type>pre</deploy.type>
</properties>
</profile>
<profile>
<id>pst</id>
<properties>
<deploy.type>pst</deploy.type>
</properties>
</profile>
<profile>
<id>prd</id>
<properties>
<deploy.type>prd</deploy.type>
</properties>
</profile>
</profiles>
<build>
<finalName>web</finalName>
<filters>
<filter>src/main/resources/filters/conf-${deploy.type}.properties</filter>
<filter>src/main/resources/filters/jdbc-${deploy.type}.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<!--是否替换资源中的属性-->
<filtering>true</filtering>
<includes>
<include>conf.properties</include>
<include>jdbc.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<!--不需替换的文件,全部要列,不然打包文件会缺失-->
<filtering>false</filtering>
<includes>
<include>mapper/**</include>
<include>spring/**</include>
<include>*.xml</include>
<include>log4j.properties</include>
<include>quartz-job.properties</include>
</includes>
</resource>
</resources>
</build>
配置文件jdbc.properties参数配置:
jdbc.driver=${jdbc.driver}
jdbc.url=${jdbc.url}
jdbc.username=${jdbc.username}
jdbc.password=${jdbc.password}
test环境配置文件jdbc-test.properties参数配置:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://10.10.10.11:3306/websit?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowMultiQueries=true
jdbc.username=app123
jdbc.password=123456
选择test打包:
打包成功后class目录下就是对应环境配置文件中的配置。