Ich habe openjdk-6-jdk mit apt-get auf meiner Ubuntu-Box installiert.
In der Systeminfo sagt mir Jenkins Java.Home ist /usr/lib/jvm/Java-6-openjdk/jre
Wenn ich jedoch dieses Verzeichnis als Java_HOME
in Jenkins: "configure system" vorgeben, wird eine Fehlermeldung mit der Meldung ausgegeben, dass das Verzeichnis nicht wie ein jdk-Verzeichnis aussieht.
meine Maven-Installation wird auch nicht abgeholt.
Fehlt mir etwas offensichtliches?
Ihre Java_HOME-Variable muss auf/usr/lib/jvm/Java-6-openjdk festgelegt sein und muss für den Benutzer verfügbar sein, der Jenkins startet.
Von Kyle Strand Kommentar:
Seit April 2015 (glaube ich) benötigt Jenkins Java7. Beachten Sie auch, dass der Java-Binärpfad (Java) auf die richtige Version gesetzt werden muss, wenn der Systemstandard immer noch Java 6 ist. Wenn Sie sich fragen, wo diese Variablen eingestellt sind, ist dies in einer Konfigurationsdatei mit den Installationsanweisungen auf den Jenkins aufgeführt Webseite (z. B. für Debian ist dies/etc/default/jenkins).
Bei Verwendung von Jenkins 2 (in meinem Fall 2.3.2) scheint der richtige Weg Folgendes in Ihre Pipeline-Datei einzufügen:
env.Java_HOME="${tool 'jdk1.8.0_111'}"
env.PATH="${env.Java_HOME}/bin:${env.PATH}"
"jdk1.8.0_111" ist der Name der Java-Konfiguration, die ursprünglich in Jenkins registriert wurde
Auf CentOS 6.x- und Redhat 6.x-Systemen enthält das openjdk-devel-Paket das jdk. Es ist sinnvoll, wenn Sie mit dem -devel-Muster von RedHat vertraut sind, aber verwirrend, wenn Sie nach einem jdk-Paket suchen, das den Java-Namensstandards entspricht.
openjdk-6
ist eine Java-Laufzeitumgebung, kein JDK (Entwicklungskit, das beispielsweise javac
enthält). Installieren Sie openjdk-6-jdk
.
Maven braucht auch das JDK.
[EDIT] Wenn das JDK installiert ist, verwenden Sie /usr/lib/jvm/Java-6-openjdk
für Java_HOME
(d. H. Ohne den Teil jre
).
Falls jemand ähnliche Probleme hat, habe ich die Standardinstallationen von Sudo apt-get für die entsprechenden Pakete verwendet. Hier sind die richtigen Einstellungen:
Java_HOME=/usr/lib/jvm/Java-7-openjdk-i386
und
MAVEN_HOME=/usr/share/maven2
Ich wollte nur eine Lösung für Windows-Maschinen hinzufügen.
Symptom: Der Jenkins-Dienst wird gestartet und sofort beendet.Jenkins.wrapper.log
hat eine Zeile, die den falschen Pfad zu Java angibt:
- Starten von C:\Programme\Java\jre1.8.0_141\bin\Java -Xrs -Xmx6g -Dhudson.lifecycle = hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Programme (x86)\Jenkins\jenkins.war" --httpPort = 8080 --webroot = "C:\Programme (x86)\Jenkins\war"
Der Fix: Jenkins hat den Pfad in jenkins.xml
fest codiert. Ändern Sie den Pfad zum neuen Java-Speicherort.
Sie können auch Windows-Umgebungsvariablen verwenden, aber ich war damit nicht erfolgreich, und ich glaube nicht, dass das Java-Installationsprogramm diese aktualisiert. Sie müssten dies also jedes Mal von Hand aktualisieren.
In Ubuntu 12.04 musste ich openjdk-7-jdk installieren.
dann Javac funktionierte!
dann könnte ich verwenden
/usr/lib/jvm/Java-7-openjdk-AMD64
In Jenkins setzen Sie Java_HOME
auf /usr/lib/jvm/Java-6-openjdk
.
Laden Sie das Paket rpm-Paket von http://pkg.jenkins-ci.org/redhat/ herunter. Sie können einen zusätzlichen Java-Speicherort angeben, z. bin/Java für Jenkins. Öffnen Sie das Jenkins-Startskript /etc/init.d/jenkins und fügen Sie hier zusätzliches Java hinzu. Ich habe /opt/jdk1.8.0_60/bin/Java hinzugefügt.
Durchsuchen Sie verwendbares Java als/usr/bin/Java möglicherweise nicht auf die von Jenkins geforderte Mindestversion.
Siehe http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candants = "/opt/jdk1.8.0_60/bin/Java
Wenn Sie an diesem Problem interessiert sind und Zugriff auf die Konfiguration Ihrer Jenkins-Agenten haben, können Sie Java_HOME
von den Jenkins> Nodes> "der Agentenname"> Seite "Konfigurieren":
Bei einem Upgrade von Ubuntu 10.0.4 auf 12.0.4 haben wir einen falschen Weg gefunden. Wir hatten eine JDK-Installation konfiguriert (automatisch konfiguriert?), Die auf /usr/lib/jvm/Java-6-openjdk zeigt. Diese enthielt kein JDK mehr Ändern in/usr/lib/jvm/default-Java behoben und sollte für ein nahtloses Java-7-Upgrade sorgen.
Also auf die Frage antworten: Geben Sie unter Ubuntu kein Java_HOME an.
Dies ist ein alter Thread, aber für neuere Jenkins-Versionen (in meinem Fall Jenkins 2.135), die ein bestimmtes Java-JDK benötigen, sollte Folgendes helfen:
Hinweis: Dies ist für Centos 7, andere Distributionen können unterschiedliche Verzeichnispositionen haben, obwohl ich glaube, dass sie auch für Ubuntu korrekt sind.
Ändern Sie /etc/sysconfig/jenkins
und setzen Sie die Variable JENKINS_Java_CMD="/<your desired jvm>/bin/Java"
(Root-Zugriff erforderlich)
Beispiel:
JENKINS_Java_CMD="/usr/lib/jvm/Java-1.8.0-openjdk/bin/Java"
Jenkins neu starten (wenn Jenkins als Dienst Sudo service jenkins stop
und Sudo service jenkins start
ausgeführt wird)
Das obige Problem, bei dem meine Jenkins-Installation nach dem Upgrade auf Java 10 und Jenkins auf 2.135 nicht mehr gestartet wurde, wurde behoben