Назад | Перейти на главную страницу

tomcat8 из wheezy-backports не работает с configtest.sh

Я установил tomcat8 посылка из wheezy-backports. Я использую установку по умолчанию / без изменений со следующими ожиданиями:

Я могу запустить / остановить кота. Однако отображается много предупреждений. Проверено с /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

Ясно какие-то проблемы :)

Что здесь не так?

ОБНОВИТЬ

Выход 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, и я получаю то же самое WARNINGs без вреда. Я не понимаю SEVERE. Но мой ps строка гласит ...-Dcatalina.base=/var/lib/tomcat8 -Dcatalina.home=/usr/share/tomcat8 -Djava.io.tmpdir=/tmp/tomcat8-tomcat8-tmp....