web-dev-qa-db-fra.com

Pourquoi Java_HOME n'est pas reconnu par Tomcat7 sous Ubuntu?

J'ai installé Tomcat7 sur ma machine Ubuntu. Lorsque j'essaie de redémarrer le serveur, un message m'indique de définir Java_HOME mais il est défini dans.

export Java_HOME=/usr/lib/jvm/Java-8-Oracle
export CATALINA_HOME=/usr/share/Tomcat7

Erreur:

omkars@<ubuntu_14.04>:~$ Sudo service Tomcat7 restart
[Sudo] password for omkars: 
 * no JDK or JRE found - please set Java_HOME
omkars@<ubuntu_14.04>:~$ echo $Java_HOME
/usr/lib/jvm/Java-8-Oracle

Que pourrait-il manquer? Merci.

16
Omkar

Maintenant, ça marche!

Les changements que j'ai faits sont:

  • modifié .bashrc comme expliqué dans la question.
  • changé /etc/init.d/Tomcat7 en point en Oracle Java8 qui manque ici!

    JDK_DIRS="/usr/lib/jvm/default-Java ${OPENJDKS} /usr/lib/jvm/Java-6-openjdk /usr/lib/jvm/Java-6-Sun /usr/lib/jvm/Java-7-Oracle **/usr/lib/jvm/Java-8-Oracle**"
    

Ensuite,

root@omkars-Dell-System-Inspiron-N4110:~# Sudo service Tomcat7 restart 
 * Starting Tomcat servlet engine Tomcat7                                [ OK ] 

Vous avez un indice de cette page:
https://mifosforge.jira.com/wiki/display/MIFOSX/Install+Tomcat+7+on+Ubuntu+11.10+for+Mifos+X

Merci

27
Omkar

Il semble que la meilleure façon de procéder consiste à supprimer le commentaire de l'entrée Java_HOME dans /etc/default/Tomcat7 et à ajuster le chemin en conséquence. Si vous utilisez le référentiel webupd8 avec l'installateur Oracle-Java8, il s'agit de Java_HOME=/usr/lib/jvm/Java-8-Oracle.

7
Buzz Killington

Le script de démarrage situé à /etc/init.d/Tomcat7 source le fichier /etc/default/rcS avant de rechercher des emplacements d'installation connus.

Ajouter la ligne Java_HOME=/usr/lib/jvm/Java-8-Oracle à /etc/default/rcS corrige le problème de démarrage de no JDK or JRE found sans modifier directement le script /etc/init.d/Tomcat7.

3
Uriah Carpenter

Il devra être défini pour l'utilisateur qui exécute le service Tomcat, plutôt que pour votre utilisateur.

Définissez-le dans le profil système global, quelque part dans /etc/profile ou /etc/profile.d/, en fonction de la configuration de votre ordinateur.

3
chiastic-security

Vous pouvez définir une variable d'environnement dans le script setenv.sh. Selon le exécuter Apache Tomcat 7.0 document:

Hormis CATALINA_HOME et CATALINA_BASE, toutes les variables d'environnement peuvent être spécifié dans le script "setenv". Le script est placé dans CATALINA_BASE/bin ou dans le répertoire CATALINA_HOME/bin et porte le nom setenv.bat (sous Windows) ou setenv.sh (sous * nix). 

Il suffit donc d’ajouter la ligne suivante à setenv.sh:

export Java_HOME=/usr/lib/jvm/Java-8-Oracle

De cette façon, vous définissez la variable localement.

2
Kuba Rakoczy

J'ai le même problème mais je le résous en modifiant la variable JDK_DIR dans /etc/init.d/Tomcat comme suit:

JDK_DIRS="/usr/lib/jvm/default-Java ${OPENJDKS} /usr/lib/jvm/Java-6-openjdk /usr/lib/jvm/Java-6-Sun /usr/lib/jvm/Java-7-Oracle /usr/lib/jvm/Java-8-Oracle"
1
sentechno

Essayez d’installer Java en utilisant le référentiel de http://www.webupd8.org .

Ceci est pour Java 8: http://www.webupd8.org/2012/09/install-Oracle-Java-8-in-ubuntu-via-ppa.html

0
Francesco Capodanno