Я установил tomcat8
посылка из wheezy-backports
. Я использую установку по умолчанию / без изменений со следующими ожиданиями:
/etc/default/tomcat8
добавлен: JAVA_HOME=/usr/lib/jvm/java-8-oracle
Я могу запустить / остановить кота. Однако отображается много предупреждений. Проверено с /usr/share/tomcat8/bin/configtest.sh
, вывод:
Using CATALINA_BASE: /usr/share/tomcat8
Using CATALINA_HOME: /usr/share/tomcat8
Using CATALINA_TMPDIR: /usr/share/tomcat8/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat8/bin/bootstrap.jar:/usr/share/tomcat8/bin/tomcat-juli.jar
Jan 10, 2015 4:55:40 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Jan 10, 2015 4:55:40 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/common], exists: [false], isDirectory: [false], canRead: [false]
Jan 10, 2015 4:55:40 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Jan 10, 2015 4:55:40 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/server], exists: [false], isDirectory: [false], canRead: [false]
Jan 10, 2015 4:55:40 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Jan 10, 2015 4:55:40 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/shared], exists: [false], isDirectory: [false], canRead: [false]
Jan 10, 2015 4:55:40 PM org.apache.catalina.startup.Catalina initDirs
SEVERE: Cannot find specified temporary folder at /usr/share/tomcat8/temp
Jan 10, 2015 4:55:40 PM org.apache.catalina.startup.Catalina load
Ясно какие-то проблемы :)
/etc/tomcat8/logging.properties
не имеют никакого эффекта. Но настройки верны (см. ps
выход) и /var/lib/tomcat8/conf -> /etc/tomcat8
Что здесь не так?
ОБНОВИТЬ
Выход ps
(отредактировано для удобочитаемости), что выглядит хорошо, imo:
$ ps aux | grep java
tomcat8 15654 0.1 3.6 2643416 147024 ? Sl Jan10 1:42 /usr/lib/jvm/java-8-oracle/bin/java \
-Xmx1024m -XX:+UseConcMarkSweepGC \
-Djava.util.logging.config.file=/var/lib/tomcat8/conf/logging.properties \
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
-Djava.awt.headless=true \
-Djava.endorsed.dirs=/usr/share/tomcat8/endorsed \
-classpath /usr/share/tomcat8/bin/bootstrap.jar:/usr/share/tomcat8/bin/tomcat-juli.jar \
-Dcatalina.base=/var/lib/tomcat8 \
-Dcatalina.home=/usr/share/tomcat8 \
-Djava.io.tmpdir=/tmp/tomcat8-tomcat8-tmp
org.apache.catalina.startup.Bootstrap start
ОБНОВЛЕНИЕ 2
Tomcat 8 в Ubuntu имеет аналогичные проблемы, см. http://java.dzone.com/articles/vaadin-docker-a-novices-journey
Это долгая сага. Основная проблема в том, что сообщество java и сообщество linux создали множество квазистандартов, практик и соглашений, которые каким-то образом противоречат друг другу во всех точках зрения.
Вы жестяная банка легко интегрировать java и linux, но вы должны научиться обе из них, и вам придется сломать многие из них с обеих сторон. Если вы знаете только один (мир Java или Linux), вы окажетесь в чистом мире, где вы всегда должны делать себя грязными.
На этот раз ваша текущая проблема связана не с проблемой переменной среды, а с простой проблемой «каталог не существует». Самый простой способ избежать этого предупреждения, если вы просто создадите недостающий каталог / usr / share / tomcat8 / shared / classes вручную (несмотря на то, что это немного противоречит обычаям Linux).
Этот каталог - необходимый путь к стандартному загрузчику классов jvm tomcat, и, скорее всего, он ничего не повредит, если он останется пустым.
Возможно, вы могли бы проверить в Contents-amd64.gz, не создан ли этот каталог другим пакетом. Если да, установите этот пакет.
Мне пришло в голову, что вы видите это только когда ты бежишь configtest.sh
, и тому есть очевидная причина: CATALINA_BASE
и другие. только установить в /etc/init.d/tomcat8
. Когда я бегу configtest.sh
как и вы, я получаю тот же результат.
Если ты хочешь бежать configtest
так же, как и демон, вы, вероятно, захотите взломать /etc/init.d/tomcat8
принять этот аргумент. По какой-то причине сопровождающие пакетов не пошли на такие неприятности. Также похоже, что вы можете установить переменные среды вручную перед запуском configtest.sh
; думаю catalina.sh
заберут их.
В WARNING: Problem with directory
строки берутся из путей загрузчика классов, установленных в /etc/tomcat8/catalina.properties
. Вероятно, это просто старый мусор, оставленный сопровождающим Debian ... чтобы не нарушать старые конфигурации? Не все присутствует в текущем апстриме, и это обсуждалось ранее.
у меня есть tomcat8
работает наopenjdk-8-jdk
в Jessie LXC, и я получаю то же самое WARNING
s без вреда. Я не понимаю SEVERE
. Но мой ps
строка гласит ...-Dcatalina.base=/var/lib/tomcat8 -Dcatalina.home=/usr/share/tomcat8 -Djava.io.tmpdir=/tmp/tomcat8-tomcat8-tmp
....