我最近安装了一个新的JDK(1.7u9),我得到了一些非常奇怪的VerifyError
。在一个线程中,我发现如果我使用-XX:-UseSplitVerifier
魔术开关进行编译,它可以帮助我。
我想做的是在 Jenkins 中全局设置此 Java 选项,但尚未找到任何配置。有人可以帮助我如何做到这一点吗?
我能想到的最接近的事情是通过 Maven 设置参数,但我必须为每个项目配置执行此操作 - 我想避免这种情况。
提前谢谢。
在主菜单项Manage Jenkins
-> Configure System
下,您可以在框中将其设置为Global MAVEN_OPTS
。
目前还不清楚您是希望为 Jenkins 容器本身打开该选项,还是只打开在其中运行的作业,但如果后者并且您只运行 maven 作业,那就是我会做的。
干杯
如果你将 Jenkins 部署到 Tomcat 或 Glassfish,我建议你进一步设置如下配置:
雄猫
设置名为 CATALINA_OPTS 的环境变量,例如
SET CATALINA_OPTS="-XX:-UseSplitVerifier"
EXPORT CATALINA_OPTS
玻璃鱼
编辑 [your_domain]/配置/域.xml
<java-config ....>
....
<jvm-options>-XX:-UseSplitVerifier</jvm-options>
</java-config>
无论如何,如果您将其部署到另一个应用程序服务器,请参阅应用程序服务器管理员指南以配置更多 JVM 选项。
更新:
如果您只想将此 JVM 选项应用于 Maven 项目,请设置名为 MAVEN_OPTS 的环境变量,例如
SET MAVEN_OPTS="-XX:-UseSplitVerifier"
export MAVEN_OPTS
我希望这可能会有所帮助。
问候
查理·
在 Windows 上,在 Jenkins 主目录中有一个 jenkins.xml。只需在参数标记下添加所需的 JVM 选项:
<arguments>
-Xrs -Xmx256m -XX:-UseSplitVerifier
-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle
-jar "%BASE%jenkins.war" --httpPort=8080
</arguments>
对于大多数 Linux 发行版,请修改 JENKINS_ARGS 内部文件: /etc/default/jenkins (or jenkins-oc)
对于 CentOS,修改文件内部JENKINS_JAVA_OPTIONS: /etc/sysconfig/jenkins (or jenkins-oc)
显然,在 Jenkins 中设置系统范围的 JVM 属性的唯一方法是使用 Groovy 脚本。
在 Jenkins 主页中创建一个init.groovy.d
,并在其中放置一个时髦的文件(load-properties.groovy
)。在 Groovy 脚本中,以编程方式设置系统属性(有关详细信息,请参阅上面的链接):
props.each { key, value ->
System.setProperty(key, value)
上述解决方案节省了我的一天,因为我需要在 SCM 结帐期间禁用jsse.enableSNIExtension
,它应该可用于 SVN 插件,而不是 Maven。
有一个带有 jdks/jdk/properties
XML 标记的config.xml
文件,但它没有文档。