Maven 属性重载
我有非常简单的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拒绝覆盖这个属性和默认值给测试(8080)。最初的问题是 TeamCity(CI 服务器外)将系统变量传递到 MAVEN_OPTS
中的 JVM,因此属性覆盖不起作用。
我可以使用 MAVEN_OPTS
环境变量覆盖 Maven 属性吗?
I have very simple maven descriptor which defined some properties:
<?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>
I can override it.port
property with command:
$ mvn -Dit.port=8181 verify
But following command doesn't work as expected:
$ MAVEN_OPTS="-Dit.port=8181" mvn verify
This pass system variable to the JVM but maven refuse to override this property and default value given to test (8080). Original problem is that TeamCity (out CI server) pass system variables to the JVM in MAVEN_OPTS
, so property overriding doesn't work.
Can I override maven properties with MAVEN_OPTS
environment variable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,你不能。您可以:
No you can't. You can: