jenkins - MAVEN_OPTS 与 mvn -D

标签 jenkins properties maven-3

我认为两者定义相同 - JVM 属性,但两者之间显然存在差异,我找不到明确的解释。如果我在构建的 Jenkins Maven 中同时使用两者,则只有 -D 设置的属性在 System.getProperties() 的 Java 应用程序中可见。尽管 MAVEN_OPTS 也应该传递给 JVM。好像我错过了什么。

感谢解释。

最佳答案

MAVEN_OPTS 是一个环境变量,可让您将参数传递给运行 Maven 的 Java VM。

因此,您可以使用它来设置堆和永久大小(例如 MAVEN_OPTS=-XX:MaxPermSize=256m)。

相比之下,-D参数是命令行参数。 Maven 已经在 J​​ava 中运行,因此您将无法控制 Java 相关参数。

参见 this page有关命令行参数和 MAVEN_OPTS 的解释。

基于此,我猜您看不到该变量的原因是因为它被用作 JVM 参数而不是属性。

也许 this answer会帮你得到它们吗?

关于jenkins - MAVEN_OPTS 与 mvn -D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38955721/

相关文章:

asp.net - 如何以声明方式将页面的属性值插入到其呈现中?

Jenkins 亚马逊 ECR : no basic auth credentials

java - Jenkins Sonar 检查失败 : Caused by: java. lang.ClassNotFoundException : org. sonar.api.checks.NoSonarFilter

maven - 无法访问 SonarQube 服务器

Javascript 属性镜像到另一个实例

java - maven-dependency-plugin <includes> 标签不起作用

jenkins - 管理 Jenkins 的 Jira 问题

javascript - JavaScript 对象的动态深度选择

maven - 使用环境变量或命令行参数覆盖 Maven 过滤器值

java - 切换到旧版本的 Maven