【发布时间】:2011-06-17 02:27:41
【问题描述】:
我有一个非常简单的 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/XMLSchema-instance">
<properties>
<it.port>8080</it.port>
</properties>
</project>
我可以用命令覆盖it.port 属性:
$ mvn -Dit.port=8181 verify
但以下命令无法按预期工作:
$ MAVEN_OPTS="-Dit.port=8181" mvn verify
这会将系统变量传递给 JVM,但 maven 拒绝覆盖此属性和为 test (8080) 提供的默认值。最初的问题是 TeamCity(出 CI 服务器)将系统变量传递给 MAVEN_OPTS 中的 JVM,因此属性覆盖不起作用。
我可以用MAVEN_OPTS 环境变量覆盖maven 属性吗?
【问题讨论】:
-
我知道这很旧,但我的 TeamCity (2017.2.2) 将系统属性作为内联“-D”参数传递(根据日志),但它仍然无法正常工作。有什么想法吗?
标签: maven-2 teamcity system-properties