2016-05-27 3 views
0

Ich benutze Jenkins, um ein Android-Projekt auf einer Mac-Stadion-VM zu erstellen.Jenkins: Ihr JAVA_HOME ist unter OS X ungültig

Wenn ich VNC in die VM, kann ich das Projekt gut erstellen. Java ist unter /usr/bin/java installiert und meine $PATH enthält /usr/bin.

Wenn ich die gleichen Befehle aus dem Jenkins Job ausführen, schlägt es mit

ERROR: JAVA_HOME is set to an invalid directory: /var/lib/jenkins/jdk1.8.0_25 

Please set the JAVA_HOME variable in your environment to match the 
location of your Java installation. 

/var/lib/jenkins/jdk... nicht auf dem VM vorhanden ist. Ich habe auch versucht, die Build-Job Aktualisierung export JAVA_HOME=/usr/bin, enthalten aber dann bekomme ich einen anderen Fehler:

Error: Failed to run "java -version", make sure that you have a JDK installed. 
You can get it from: http://www.oracle.com/technetwork/java/javase/downloads. 
Your JAVA_HOME is invalid: /usr/bin 

Alle anderen Schritte scheinen so zu arbeiten, kann ich sagen, dass der Code in den Arbeitsbereich und alles heruntergeladen wird else ist richtig installiert, und wie gesagt kann ich android auf der VM direkt von der Kommandozeile aus bauen.

Was kann ich tun, um Jenkins auf die VM zu bringen?

Antwort

3

Der beste Weg, um die JAVA_HOME auf einem Mac zu setzen, ist java_home nach dem Herunterladen und Installieren der erforderlichen JDK von Oracle zu verwenden:

export JAVA_HOME=`/usr/libexec/java_home` 

Wenn Sie Jenkins wollen sicherstellen, eine ältere Version des JDK zu verwenden, verwenden Sie die -v:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6` 

die Lage in der Vorschau nur den java_home Befehl in ein Terminal-Typ:

$ /usr/libexec/java_home -v 1.7 
/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home 

$ /usr/libexec/java_home 
/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home