web-dev-qa-db-fra.com

Comment trouver la valeur de $ CATALINA_HOME?

Je dois copier Connnector/J JAR dans $CATALINA_HOME/lib de Tomcat7 sur Amazon EC2. Comment trouver le chemin complet de $CATALINA_HOME/lib sur Amazon Linux dans Amazon EC2?

40
Gaurav Agarwal

Tomcat peut vous le dire de plusieurs manières. Voici le plus simple:

 $ /path/to/catalina.sh version
Using CATALINA_BASE:   /usr/local/Apache-Tomcat-7.0.29
Using CATALINA_HOME:   /usr/local/Apache-Tomcat-7.0.29
Using CATALINA_TMPDIR: /usr/local/Apache-Tomcat-7.0.29/temp
Using JRE_HOME:        /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
Using CLASSPATH:       /usr/local/Apache-Tomcat-7.0.29/bin/bootstrap.jar:/usr/local/Apache-Tomcat-7.0.29/bin/Tomcat-juli.jar
Server version: Apache Tomcat/7.0.29
Server built:   Jul 3 2012 11:31:52
Server number:  7.0.29.0
OS Name:        Mac OS X
OS Version:     10.7.4
Architecture:   x86_64
JVM Version:    1.6.0_33-b03-424-11M3720
JVM Vendor:     Apple Inc.

Si vous ne savez pas où se trouve catalina.sh (ou si on ne l'appelle jamais), vous pouvez généralement le trouver via ps:

$ ps aux | grep catalina
chris            930   0.0  3.1  2987336 258328 s000  S    Wed01PM   2:29.43 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/Java -Dnop -Djava.util.logging.manager=org.Apache.juli.ClassLoaderLogManager -Djava.library.path=/usr/local/Apache-Tomcat-7.0.29/lib -Djava.endorsed.dirs=/usr/local/Apache-Tomcat-7.0.29/endorsed -classpath /usr/local/Apache-Tomcat-7.0.29/bin/bootstrap.jar:/usr/local/Apache-Tomcat-7.0.29/bin/Tomcat-juli.jar -Dcatalina.base=/Users/chris/blah/blah -Dcatalina.home=/usr/local/Apache-Tomcat-7.0.29 -Djava.io.tmpdir=/Users/chris/blah/blah/temp org.Apache.catalina.startup.Bootstrap start

Dans la sortie ps, vous pouvez voir à la fois catalina.home et catalina.base. catalina.home est l'emplacement d'installation des fichiers de base Tomcat et catalina.base l'emplacement de la configuration en cours de Tomcat. Elles sont souvent définies sur la même valeur sauf si vous avez configuré votre Tomcat pour que plusieurs instances (configuration) puissent être lancées à partir d'une seule installation de base Tomcat.

Vous pouvez également interroger directement la machine virtuelle Java si vous ne la trouvez pas dans une liste ps:

$ jinfo -sysprops 930 | grep catalina
Attaching to process ID 930, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 20.8-b03-424
catalina.base = /Users/chris/blah/blah
[...]
catalina.home = /usr/local/Apache-Tomcat-7.0.29

Si vous ne pouvez pas gérer cela, vous pouvez toujours essayer d'écrire un fichier JSP qui exporte les valeurs des deux propriétés système catalina.home et catalina.base.

81
Christopher Schultz

Juste comme un ajout . Vous pouvez trouver les chemins de Catalina dans 

-> RUN-> RUN CONFIGURATIONS-> Apache Tomcat-> ARGUMENTS

Dans les VM arguments, les chemins sont répertoriés et modifiables.

0
medTech