最近、新しいJDK(1.7u9)をインストールしましたが、非常に奇妙なVerifyError
sを受け取りました。 スレッド内 コンパイルに-XX:-UseSplitVerifier
マジックスイッチを使用すると役立つ場合があることがわかりました。
私がしたいことは、これをJavaオプションをJenkinsでグローバルに設定することですが、それに対する設定が見つかりませんでした。どうすればこれを行うことができますか?
私が思いつくことができた最も近いことは、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] /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
これがお役に立てば幸いです。
よろしく、
チャーリーCh。
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(またはjenkins-oc)
CentOSの場合、ファイル内でJENKINS_Java_OPTIONSを変更します:/ etc/sysconfig/jenkins(またはjenkins-oc)
明らかに、Jenkinsでシステム全体のJVMプロパティを設定する唯一の方法は、 Groovy Script を使用することです。
init.groovy.d
をJenkinsのホームに配置し、そこにグルーヴィーなファイルを配置します(load-properties.groovy
)。 Groovyスクリプトで、システムプロパティをプログラムで設定します(詳細は 上記のリンク を参照)。
props.each { key, value ->
System.setProperty(key, value)
上記の解決策は、jsse.enableSNIExtension
SCMのチェックアウト時に、MavenではなくSVNプラグインで使用できる必要があります。
あります config.xml
ファイルとjdks/jdk/properties
XMLタグですが、文書化されていません。