Maven 2 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

我有一个非常简单的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>
但以下命令无法按预期工作:

$ 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

我知道这很旧,但我的TeamCity(2017.2.2)正在将系统属性作为内联'-D'参数传递(根据日志),但它仍然不起作用。有什么想法吗?
$ MAVEN_OPTS="-Dit.port=8181" mvn verify