1.resource目录结构准备
└─src
├─main
│ ├─java
│ │ └─com
│ │ └─yust5273
│ └─resources
│ └─conf
│ ├─dev
│ ├─pro
│ └─test
└─test
└─java
dev、pro、test 目录中分别有一个app.properties,内容分别是他们各自环境的一些配置信息,
为简化测试,这里各自的app.properties文件内容分别为,dev、pro、test
2.pom.xml相关配置如下
<profiles>
<profile>
<!--不同环境Profile的唯一id-->
<id>dev</id>
<properties>
<!--profiles.active是自定义的字段(名字随便起),自定义字段可以有多个-->
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<id>pro</id>
<properties>
<profiles.active>pro</profiles.active>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>conf/**</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/conf/${profiles.active}</directory>
</resource>
</resources>
3.运行效果
分别执行以下命令查看效果,
mvn clean install -P test
mvn clean install -P dev
mvn clean install -P pro
拓展 setting.xml中的Profile ---------家和公司两套
比如我们在公司连接公司的私服,在家里。。
就可以在setting.xml通过Profile配置不同环境。
<profiles>
<profile>
<id>dev</id>
<repositories>
<repository>
<id>local-nexus</id>
<url>http://192.168.1.6:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>plug-local-mirror</id>
<url>http://192.168.1.6:8081/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>external</id>
<repositories>
<repository>
<id>reop-mirror</id>
<url>http://uk.maven.org/maven2</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>plug-reop-mirror</id>
<url>http://uk.maven.org/maven2</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
网友评论