maven的多环境配置
开发环境 dev
测试环境 test
生产环境 prop
1.在resource文件夹下,建立三个文件夹dev test prop,并放各自的数据库IP地址
Dev 本地的localhost
Test 为测试环境下的,一般为本机window的IP地址
Prop 真实的数据库地址【阿里云之类的】
开发环境:
pom.xml中加;
Profiles详解:
<profiles>
<profile>
<!--打包命令时用的-P后边的和dev和id保持一致,也就是-P后的id为什么,打war包时,就打的那个文件中的数据库连接
:mvn clean package -Dmaven.test.skip=true -Pdev-->
<id>dev</id>
<properties>
<!--与 <directory>src/main/resources/${project.env}</directory> 中的${project.env}保持一致-->
<!--文件夹的名字dev test prop与dev一样-->
<project.env>dev</project.env>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<project.env>test</project.env>
</properties>
</profile>
<profile>
<id>product</id>
<properties>
<!--文件夹的名字dev test prop与dev一样-->
<project.env>prod</project.env>
</properties>
<activation>
<!--在打包的时候什么都不选,默认是这个-->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
Resource详解:
<resources>
<resource>
<directory>src/main/resources</directory>
<!--先把所有的数据库配置都排除-->
<excludes>
<exclude>dev/*</exclude>
<exclude>prod/*</exclude>
<exclude>test/*</exclude>
<exclude>datasource.properties</exclude>
</excludes>
</resource>
<resource>
<!--然后通过指定的文件夹建立关联 resources 文件夹下的那个文件:动态的${project.env} 与 <project.env>prod</project.env>保持一致-->
<directory>src/main/resources/${project.env}</directory>
</resource>
</resources>
直接就可以打包了:
打包方式两种:
1.-P后指定的用那个文件夹的数据库文件
mvn clean package -Dmaven.test.skip=true -Pdev
2.通过idea图标
但最好通过命令
打成war包在项目的target文件夹中查看
就配置好了