在Maven中使用环境变量的主要方式有两种:
- 在pom.xml中使用${env.环境变量名}直接调用环境变量:
< project >
...
<properties>
<java.home>${env.JAVA_HOME}</java.home>
</properties>
</project>
- 在settings.xml中定义环境变量:
<settings>
...
<profiles>
<profile>
<id>dev</id>
<properties>
<env.USER>dev_user</env.USER>
</properties>
</profile>
</profiles>
</settings>
然后在pom.xml中调用:
<project>
...
<properties>
<user.name>${env.USER}</user.name>
</properties>
</project>
要激活settings.xml中定义的profile,需要在命令行指定:-P profile_id。
另外,Maven也可以调用系统环境变量,直接在pom.xml中使用${env.环境变量名}调用。
来看一些示例:
调用JAVA_HOME环境变量:
<project>
...
<properties>
<java.home>${env.JAVA_HOME}</java.home>
</properties>
</project>
在settings.xml中定义env.USER变量:
<settings>
...
<profiles>
<profile>
<id>dev</id>
<properties>
<env.USER>dev_user</env.USER>
</properties>
</profile>
</profiles>
</settings>
在pom.xml中调用:
<project>
...
<properties>
<user.name>${env.USER}</user.name>
</properties>
</project>
激活profile:
mvn compile -P dev