mon tomcat utilise le mauvais JAVA_HOME ou JRE_HOME

Je suis nouveau sur Tomcat. leur est quelque chose de mal à propos de Tomcat 7 sur mon ubuntu 10.10.

lorsque je démarre Tomcat comme ce

llchli@llchli-virtual-machine:/usr/local/apache-tomcat-7.0.47/bin$ ./catalina.sh  run
Using CATALINA_BASE:   /usr/local/apache-tomcat-7.0.47
Using CATALINA_HOME:   /usr/local/apache-tomcat-7.0.47
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.47/temp
Using JRE_HOME:        /usr/local/jdk1.7.0_45
Using CLASSPATH:       /usr/local/apache-tomcat-7.0.47/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.47/bin/tomcat-juli.jar

bien que ne peut pas démarrer Tomcat de cette façon, il echos Using JRE_Home /usr/local/jdk1.7.0_45, qui est le bon JAVA_HOME ou JRE_HOME sur mon ordinateur.

mais quand je lance Tomcat avec sudo comme ce

llchli@llchli-virtual-machine:/usr/local/apache-tomcat-7.0.47/bin$ sudo ./catalina.sh  start
[sudo] password for llchli: 
Using CATALINA_BASE:   /usr/local/apache-tomcat-7.0.47
Using CATALINA_HOME:   /usr/local/apache-tomcat-7.0.47
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.47/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/apache-tomcat-7.0.47/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.47/bin/tomcat-juli.jar

elle echos Using JRE_HOME: /usr,ce qui n'est pas le bon JAVA_HOME ou JRE_HOME sur mon ordinateur. Mais il démarrer Tomcat correctement.

mon /etc/environment est

llchli@llchli-virtual-machine:/usr/local/apache-tomcat-7.0.47/bin$ sudo cat /etc/environment 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/jdk1.7.0_45/bin"
LANGUAGE="en"
JAVA_HOME="/usr/local/jdk1.7.0_45"
CLASSPATH="$CLASSPATH:$JAVA_HOME/lib"
CATALINA_HOME="/usr/local/apache-tomcat-7.0.47"

Je suis un peu perplexe à ce sujet.Et quand j'utilise daemon.sh comme ça, ça générer des erreurs.

llchli@llchli-virtual-machine:/usr/local/apache-tomcat-7.0.47/bin$ sudo ./daemon.sh run
Cannot find any VM in Java Home /usr
Cannot find any VM in Java Home /usr
Cannot locate JVM library file
Service exit with a return value of 1

Elle echos cannot find any VM in Java Home /usr. Je suis tellement confus.

Toute aide et conseille appréciera.

Merci d'avance.

pourquoi ne pas utiliser service tomcat7 start? Avez-vous installé le tomact7 paquet? Ou avez-vous installé manuellement?
J'ai télécharger".tar.gz fichier et le décompresser sur le fichier '/usr/local/'
Ok, donc vous avez installé manuellement, je vous suggérons d'utiliser le système de paquets. Installez uniquement des logiciels manuellement si vous vraiment. Qui va garder votre système propre, de plus il est très peu probable que vous aurez jamais de mise à jour de l'installation que vous avez installé (par exemple. les correctifs de sécurité). Si vous utilisez le paquet, tout fonctionne hors de la boîte.
juste un conseil pour le débogage cette question: modifier le script et ajouter set +x, utilisez env pour montrer le contexte actuel.

OriginalL'auteur llch | 2013-11-17