Spécifier le JDK pour tomcat7

41

J'ai installé tomcat7(utiliser apt-get install) et chaque fois que je veux commencer, tomcat7il dit:

* no JDK found - please set JAVA_HOME

J'ai mis JAVA_HOMEdans mon bash.bashrcet aussi dans ~/.bashrcet quand je echo $JAVA_HOMElance, je vois clairement que cette variable pointe vers le dossier racine de mon jdk. Quelqu'un peut-il m'aider avec ceci s'il vous plaît?

Merci

Hossein
la source
2
Cela m'a aidé à trouver où je peux dire tomcat7ce que JDK utiliser.
icedwater
Pareil ici. Maintenant, je sais où tomcat cherche JAVA_HOME.
slayedbylucifer

Réponses:

78

Vous pouvez essayer ceci:

Appuyez simplement sur Ctrl+ Alt+ Tsur votre clavier pour ouvrir Terminal. Quand il s'ouvre, lancez la commande ci-dessous.

gksudo gedit /etc/default/tomcat7

Lorsque le fichier s'ouvre, supprimez la mise en commentaire de la ligne qui définit la variable JAVA_HOME.

entrez la description de l'image ici

Enregistrez et redémarrez le serveur tomcat7.

Mitch
la source
Notez que la mise à niveau vers JDK 7 rompra cette réponse. L'utilisation d'un lien symbolique sans numéro de version autorisera les mises à niveau sans invalider les variables d'environnement.
Dave Jarvis
1
Fonctionne également pour tomcat8, remplacez simplement les tomcat7chaînes par tomcat8.
Nachtigall
9

Tomcat n'utilisera pas réellement votre variable d'environnement JAVA_HOME, mais examinera certains emplacements prédéfinis et la variable JAVA_HOME définie dans le script de démarrage, comme le soulignent d'autres réponses. Si vous n'aimez pas jouer avec le script de démarrage de tomcat, vous pouvez créer un lien symbolique pour votre installation Java préférée, qui sera récupéré par tomcat.

Par exemple:

ln -s /usr/lib/jvm/java-8-oracle /usr/lib/jvm/default-java
djjeck
la source
2
Cela entre en conflit avec le paquetdefault-jre-headless
Tino
5

Terminal ouvert

echo $JAVA_HOME

Copiez le résultat. ensuite

sudo -H gedit /etc/default/tomcat7

Remplacez #JAVA_HOME=/usr/lib/jvm/openjdk-6-jdkpar la sortie que vous avez copiée $JAVA_HOME.

utilisateur3201101
la source
2

Ajoutez simplement la ligne suivante dans / etc / default / tomcat7 à l'emplacement où la variable JAVA_HOME est définie

JAVA_HOME=/usr/lib/jvm/java-7-oracle

puis exécutez la commande

sudo service tomcat7 restart
utilisateur249933
la source
0

En ajoutant à la réponse de Mitch (la réponse acceptée ci-dessus), vérifiez votre /usr/lib/jvm/répertoire. D'habitude, Java est installé là-bas.

Oracle java est peut-être installé ou une version plus récente de java est installée. Il suffit de consulter les répertoires /usr/lib/jvm/et d’ajouter celui dans lequel se trouve votre java.

Pour moi, c'était:

/usr/lib/jvm/java-8-oracle

Alors, remplacez

#JAVA_HOME=/some/directory

avec

#JAVA_HOME=/usr/lib/jvm/java-8-oracle

a fait le travail pour moi.

Akeshwar Jha
la source