maven环境隔离
maven环境隔离在企业级开发中是必要的,通过maven命令的不同打包方式打包,打包发布不同的环境,省去了,本地环境与线上环境不同要逐个改配置文件的麻烦。比如:本地数据库和线上数据库,用户名密码的不同。
Resources包为不需要改变的公共包
把需要隔离的文件放到各个包中
在<build>节点添加
</dependencies>
<build>
<finalName>imooc</finalName>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
<!-- maven的核心插件之-complier插件默认只支持编译Java 1.4,因此需要加上支持高版本jre的配置,在pom.xml里面加上 增加编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
<!-- 加载资源文件的配置 -->
<resources>
<resource>
<!-- 指定配置文件所在的目录,${deploy.type}是一个参数变量,通过这个变量来决定加载哪个环境的配置文件 -->
<directory>src/main/resources.${deploy.type}</directory>
<!-- 排除jsp jsp不需要环境隔离-->
<excludes>
<exclude>*.jsp</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
<profiles>
<!-- 开发环境 -->
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<deploy.type>dev</deploy.type>
</properties>
</profile>
<!-- 测试环境 -->
<profile>
<id>beta</id>
<properties>
<deploy.type>beta</deploy.type>
</properties>
</profile>
<!-- 线上环境 -->
<profile>
<id>prod</id>
<properties>
<deploy.type>prod</deploy.type>
</properties>
</profile>
</profiles>