maven profile实现多环境配置
每次项目部署上线都需要手动去修改配置文件(比如数据库配置)然后才能打包,很不方便,可以根据以下教程用maven的profile 实现多环境的配置。
以数据库的配置为例,在src/main/resources 下新建三个文件夹,分别叫做dev,online,test,分别对应开发环境,线上环境,测试环境。在每个文件夹下拷贝进去jdbc.properties文件,分别对应不同的数据库配置。如图:
在pom.xml文件中加入以下内容:
<profiles>
<profile>
<!-- 开发环境 -->
<id>dev</id>
<properties>
<env>dev</env>
</properties>
<activation>
<!-- 默认**该profile节点-->
<activeByDefault>true</activeByDefault>
</activation>
<build>
<resources>
<resource>
<directory>src/main/resources/dev</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<env>test</env>
</properties>
<build>
<resources>
<resource>
<directory>src/main/resources/test</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</profile>
<profile>
<!-- 生产环境 -->
<id>online</id>
<properties>
<env>online</env>
</properties>
<build>
<resources>
<resource>
<directory>src/main/resources/online</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</profile>
</profiles>
这个resources里面的路径对应上面文件路径,resources里面所有的配置加上各自环境的配置。
项目右键-->maven-->Select Maven profiles ,选择一个环境,修改最好清理一下项目才会生效。一定要clean一下。
选择profile
选择profile后,然后运行项目就是你选择的环境了,或者直接导出war包。
如果想用maven打包的话,右击项目-run as -maven build(选择第二个maven build),会进入如下界面:
goals输入框,填写package,勾选上skip tests,profiles 就是你要根据什么环境来打包,点击apply,点击run,就可以正常打出war包了。
注:打出来的war包会放在项目的target目录里面。