MacのJenkinsおじさんを起動するjdkを変更する
Macに入れたjenkinsがビルド成功してるのに、こけてしまう。
** BUILD SUCCEEDED ** FATAL: Could not initialize class hudson.util.ProcessTree$UnixReflection java.lang.NoClassDefFoundError: Could not initialize class hudson.util.ProcessTree$UnixReflection at hudson.util.ProcessTree$UnixProcess.kill(ProcessTree.java:552) at hudson.util.ProcessTree$UnixProcess.killRecursively(ProcessTree.java:572) at hudson.util.ProcessTree$Unix.killAll(ProcessTree.java:496) at hudson.Launcher$LocalLauncher.kill(Launcher.java:796) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:546) at hudson.model.Run.execute(Run.java:1689) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231)
ググっても、答えが出ないけど、java8入れたからだろうと思い、jenkinsをjava7で起動するようにしようと思った。
まず、MacのJavaはどこにあるか
OSXでJavaのバージョンを切り替える - リジェクトされました
これを見ると、java_homeコマンドを使うとよさそうということが分かりました。感謝。
$ /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.7" /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
JAVA_HOMEの設定
このJavaでもって、Jenkinsおじさんを起動したい。
MacのJenkinsおじさんは、LaunchDaemonで動いてるようなので、起動ファイルを編集。
sudo vim /Library/LaunchDaemons/org.jenkins-ci.plist
JAVA_HOMEを追加する。
<key>EnvironmentVariables</key> <dict> <key>JENKINS_HOME</key> <string>/Users/Shared/Jenkins/Home</string> <key>JAVA_HOME</key> <string>/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home</string> </dict>
Jenkinsおじさんの再起動
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
これで、Jdk1.7でおじさんが動き出しました。