我最近安装了一个新的JDK(1.7u9),我得到了一些非常奇怪的VerifyError
。 In a thread我发现如果我使用-XX:-UseSplitVerifier
魔术开关进行编译,它可以帮助我。
我想要做的是在Jenkins中全局设置此Java选项,但没有找到任何配置。有人可以帮我解决这个问题吗?
我能够提出的最接近的事情是通过Maven设置参数,但我必须为每个项目配置执行此操作 - 我想避免这种情况。
提前致谢。
答案 0 :(得分:16)
在主菜单项Manage Jenkins
- > Configure System
下,您可以在Global MAVEN_OPTS
的框中进行设置。
有点不清楚是否要为Jenkins容器本身打开选项或仅打开其中运行的作业,但如果后者并且您只运行maven作业,那就是我要做的。
干杯,
答案 1 :(得分:5)
如果您将Jenkins部署到Tomcat或Glassfish,我建议您按以下方式设置进一步的配置: -
设置名为 CATALINA_OPTS 的环境变量,例如
SET CATALINA_OPTS="-XX:-UseSplitVerifier"
EXPORT CATALINA_OPTS
编辑[your_domain] /config/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
我希望这可能有所帮助。
此致
Charlee Ch。
答案 2 :(得分:2)
在Windows上,Jenkins主目录中有 jenkins.xml 。只需在arguments标签下添加所需的JVM选项:
<arguments>
-Xrs -Xmx256m -XX:-UseSplitVerifier
-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle
-jar "%BASE%\jenkins.war" --httpPort=8080
</arguments>
对于大多数Linux发行版,修改文件中的 JENKINS_ARGS : / etc / default / jenkins (或jenkins-oc)
对于CentOS,修改文件中的 JENKINS_JAVA_OPTIONS : / etc / sysconfig / jenkins (或jenkins-oc)
答案 3 :(得分:0)
显然,在Jenkins中设置系统范围JVM属性的唯一方法是使用Groovy Script。
在Jenkins主页中创建一个init.groovy.d
并在其中放置一个groovy文件(load-properties.groovy
)。在Groovy脚本中,以编程方式设置系统属性(有关详细信息,请参阅link above):
props.each { key, value ->
System.setProperty(key, value)
以上解决方案节省了我的一天,因为我需要在SCM结帐时禁用jsse.enableSNIExtension
,它应该可用于SVN插件,而不是Maven。
config.xml
个文件带有jdks/jdk/properties
个XML标记,但它没有记录。