J'ai installé openjdk-6-jdk sur ma boîte Ubuntu en utilisant apt-get.
Dans les informations système, jenkins me dit que Java.Home est /usr/lib/jvm/Java-6-openjdk/jre
Cependant, lorsque je spécifie ce répertoire sous la forme Java_HOME
dans Jenkins: "configure system", un message d'erreur indiquant que ce répertoire ne ressemble pas à un répertoire jdk s'affiche.
il ne parvient pas non plus à récupérer mon installation Maven.
Est-ce que je manque quelque chose d'évident?
Votre variable Java_HOME doit être définie sur/usr/lib/jvm/Java-6-openjdk et doit être disponible pour l'utilisateur qui lance Jenkins.
De Kyle Strand commentaire:
A partir d'avril 2015 (je pense), Jenkins nécessite Java7. Notez également que le chemin binaire Java (Java) doit être défini sur la version correcte si la valeur par défaut du système est toujours Java 6. Enfin, pour ceux qui se demandent où ces variables sont définies, cela se trouve dans un fichier de configuration répertorié avec les instructions d'installation de Jenkins. page Web (par exemple, pour Debian, il s'agit de/etc/default/jenkins).
En utilisant Jenkins 2 (2.3.2 dans mon cas), la bonne manière semble insérer ce qui suit dans votre fichier de pipeline:
env.Java_HOME="${tool 'jdk1.8.0_111'}"
env.PATH="${env.Java_HOME}/bin:${env.PATH}"
"jdk1.8.0_111" étant le nom de la configuration Java initialement enregistrée dans Jenkins
Sur les systèmes CentOS 6.x et Redhat 6.x, le paquet openjdk-devel contient le jdk. C'est assez judicieux si vous connaissez le modèle -devel utilisé dans RedHat, mais déroutant si vous recherchez un paquet jdk conforme aux normes de nommage Java.
openjdk-6
est un environnement d'exécution Java, pas un JDK (kit de développement contenant javac
, par exemple). Installez openjdk-6-jdk
.
Maven a également besoin du JDK.
[EDIT] Lorsque le JDK est installé, utilisez /usr/lib/jvm/Java-6-openjdk
pour Java_HOME
(c'est-à-dire sans la partie jre
).
Au cas où quelqu'un aurait des problèmes similaires, j'ai utilisé les installations par défaut d'apt-get de Sudo pour les packages concernés et voici les paramètres corrects:
Java_HOME=/usr/lib/jvm/Java-7-openjdk-i386
et
MAVEN_HOME=/usr/share/maven2
Je voulais juste ajouter une solution pour les machines Windows.
Symptôme: le service Jenkins démarre et s’arrête immédiatement.Jenkins.wrapper.log
a une ligne indiquant le chemin incorrect vers Java:
- Démarrage de C:\Program Files\Java\jre1.8.0_141\bin\Java -Xrs -Xmx6g -Dhudson.lifecycle = hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Fichiers de programme (x86)\Jenkins\jenkins.war" --httpPort = 8080 --webroot = "C:\Fichiers de programme (x86)\Jenkins\war"
Le correctif: Jenkins a le chemin codé en dur dans jenkins.xml
. Modifiez le chemin d'accès vers le nouvel emplacement Java.
Vous pouvez également utiliser les variables d'environnement Windows, mais je n'y suis pas parvenu et je ne pense pas que le programme d'installation Java les mette à jour. Vous devez donc le mettre à jour manuellement chaque fois.
Dans Ubuntu 12.04, je devais installer openjdk-7-jdk
alors javac travaillait!
alors je pourrais utiliser
/usr/lib/jvm/Java-7-openjdk-AMD64
Dans Jenkins, essayez de régler Java_HOME
sur /usr/lib/jvm/Java-6-openjdk
Téléchargez le package package rpm à partir de http://pkg.jenkins-ci.org/redhat/ vous pouvez indiquer un emplacement Java supplémentaire, comme je dispose par défaut de 1.7 Java dans mon système, mais j'utilise /opt/jdk1.8.0_60/ bin/Java pour Jenkins. Ouvrez le script de démarrage de jenkins /etc/init.d/jenkins et ajoutez du Java supplémentaire ici, j’ai ajouté /opt/jdk1.8.0_60/bin/Java,
Recherchez dans Java utilisable comme/usr/bin/Java pourrait ne pas pointer vers la version minimale requise par Jenkins.
Voir http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candidats = "/opt/jdk1.8.0_60/bin/Java
En passant de Ubuntu 10.0.4 à 12.0.4, nous nous sommes trompés. Nous avions une installation JDK configurée (auto-configurée?) Pointant vers /usr/lib/jvm/Java-6-openjdkelle ne contenait plus de JDK,/default-Java corrigé et devrait permettre une mise à niveau transparente de Java-7.
Donc, pour répondre à la question: ne spécifiez pas Java_HOME sur Ubuntu.
Ceci est un vieux fil, mais pour les versions plus récentes de Jenkins (dans mon cas, Jenkins 2.135) nécessitant un JDK Java particulier, ceci devrait aider:
Note: Ceci est pour Centos 7, les autres distributions peuvent avoir des emplacements de répertoire différents même si je pense qu’elles sont également correctes pour Ubuntu.
Modifiez /etc/sysconfig/jenkins
et définissez la variable JENKINS_Java_CMD="/<your desired jvm>/bin/Java"
(accès root requis)
Exemple:
JENKINS_Java_CMD="/usr/lib/jvm/Java-1.8.0-openjdk/bin/Java"
Redémarrez Jenkins (si Jenkins est exécuté en tant que service Sudo service jenkins stop
puis Sudo service jenkins start
)
Ce qui précède a corrigé l’installation de Jenkins qui ne démarre pas après la mise à niveau vers Java 10 et Jenkins vers la version 2.135.