Maven中的profile主要是为了解决不同环境所需的不同变量、配置。profile一般可用于pom.xml、settings.xml文件中。
第一种情况:用于pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
...
<!--创建多环境-->
<profiles>
<!--生产环境-->
<profile>
<!--定义环境对应的唯一名称-->
<id>pro_env</id>
<!--定义环境中换用的属性值-->
<properties>
<jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>
</properties>
<!--设置默认启动-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--开发环境-->
<profile>
<id>dep_env</id>
<properties>
<jdbc.url>jdbc:mysql://192.168.1.105:3306/ssm_db</jdbc.url>
</properties>
</profile>
</profiles>
<!--定义自定义属性-->
<properties>
<!--<jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>-->
</properties>
</project>
可以看到默认情况下pom.xml中的pro_env环境会被启用,这样项目在打包的时候就可以根据勾选中的环境将对应环境变量替换到配置文件中
第二种情况:用于settings.xml文件
目前还没有遇到一种比较好的应用场景