Подтвердить что ты не робот

Как найти значение $CATALINA_HOME?

Мне нужно скопировать Connnector/J JAR в $CATALINA_HOME/lib Tomcat7 на Amazon EC2. Как найти полный путь $CATALINA_HOME/lib на Amazon Linux в Amazon EC2?

4b9b3361

Ответ 1

Tomcat может рассказать вам несколькими способами. Здесь самый простой:

 $ /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.

Если вы не знаете, где catalina.sh (или он никогда не вызывается), вы обычно можете найти его через 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

Из вывода ps вы можете видеть как catalina.home, так и catalina.base. catalina.home - там, где установлены базовые файлы Tomcat, а catalina.base - там, где существует текущая конфигурация Tomcat. Они часто устанавливаются в одно и то же значение, если вы не настроили Tomcat для нескольких экземпляров (конфигурации), которые должны быть запущены с одной базовой установки Tomcat.

Вы также можете запросить JVM напрямую, если вы не можете найти его в списке 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

Если вы не можете это сделать, вы всегда можете попытаться написать JSP, который выгружает значения двух свойств системы catalina.home и catalina.base.