Maven 2 Maven属性重载
我有一个非常简单的maven描述符,它定义了一些属性:Maven 2 Maven属性重载,maven-2,teamcity,system-properties,Maven 2,Teamcity,System Properties,我有一个非常简单的maven描述符,它定义了一些属性: <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<properties>
<it.port>8080</it.port>
</properties>
</project>
但以下命令无法按预期工作:
$ MAVEN_OPTS="-Dit.port=8181" mvn verify
这会将系统变量传递给JVM,但maven拒绝重写此属性和提供给test的默认值(8080)。最初的问题是TeamCity(out CI server)在MAVEN_OPTS
中将系统变量传递给JVM,因此属性重写不起作用
我可以用maven\u OPTS
环境变量覆盖maven属性吗?不可以。你可以:
- 在本地计算机上使用settings.xml指定属性
- 在项目pom中使用配置文件
- 直接在命令行上使用-D
$ MAVEN_OPTS="-Dit.port=8181" mvn verify