Maven环境隔离的使用
其他
2018-09-11 08:24:48
阅读次数: 0
Maven环境隔离
为什么我们要使用环境隔离?
因为在真实的项目开发中,一般至少有三个环境:
Dev,beta,prop
使用环境隔离可以使我们的项目选择性的使用配置文件,因为在不同的环境中,使用的配置文件的参数可能不同。所以使用maven环境隔离是很有必要的,可以非常的便捷的切换不同的环境。
笔者以前的一个Mall电商项目来进行演进maven环境隔离:
原始的项目的pom文件为(重要节点):
我们现在开始来进行Maven环境隔离:
我们以三个环境来隔离(dev,beta,prop)
项目的目录结构:
由于mappers ,applicationContext.xml , applicationContext-datasource.xml,generatorConfig.xml
是通用的,所以放在resources目录下即可,
其他文件,比如 datasource.properties,mall.properties
Zfbinfo.properties,在不同的环境下可能参数不一样,
所以我们需要进行隔离。
在原有的项目结构中创建:
将不同环境中参数相同的放在resources中,将不同的,分别放在不同的环境目录中。
然后我们需要对pom.xml进行修改
首先在 build节点里 添加如下代码
<resources>
<resource>
<!—${deploy.type}指的是我们需要使用的环境的参数-->
<directory>src/main/resources.${deploy.type}</director>
<excludes>
<exclude>*.jsp</exclude>
</excludes>
</resource>
<resource>
<!—这里指的是不管哪个环境都需要的文件目录-->
<directory>src/main/resources</directory>
</resource>
</resources>
然后再project节点里,添加:
<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>prop</id>
<properties>
<deploy.type>prop</deploy.type>
</properties>
</profile>
</profiles>
来指定三个环境的名字,其中我们以一个环境为默认环境即可(即不指定环境时使用的环境),注意:只能设置一个默认环境(我们使用dev)
现在我们就可以使用不同的环境来发布项目了:
我们在idea的命令台打印maven命令:
打包并跳过单元测试
mvn clean package –Dmaven.test.skip=true –P+环境名
比如:使用dev环境
mvn clean package –Dmaven.test.skip=true –Pdev
当然我们在本地环境下,也可以来指定发布指定的环境
在idea中,我们修改为pom.xml文件后:
发现多了一个我们配置的profiles,我们可以来勾选一个环境,然后启动tomcat来模拟环境。
转载自blog.csdn.net/jackcheng1117/article/details/81136878