Ich habe tomcat8
Paket von installiert wheezy-backports
. Ich verwende die Standardinstallation / unveränderte Installation mit den folgenden Erwartungen:
- Ich benutze Oracle Java 8 JDK
- in
/etc/default/tomcat8
wird hinzugefügt:JAVA_HOME=/usr/lib/jvm/java-8-oracle
Ich kann Tomcat starten / stoppen. Es werden jedoch viele Warnungen angezeigt. Aktiviert mit /usr/share/tomcat8/bin/configtest.sh
ist die Ausgabe:
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
Klar einige Probleme :)
- JRE_HOME sollte auf JAVA_HOME gesetzt sein, ist es aber nicht
- fehlende Verzeichnisse
- (aus diesem Beispiel nicht ersichtlich) Die Protokollierung funktioniert nicht ordnungsgemäß (Änderungen in
/etc/tomcat8/logging.properties
haben keine Auswirkung. Die Einstellungen sind jedoch korrekt (sieheps
Ausgabe) und/var/lib/tomcat8/conf -> /etc/tomcat8
Was ist hier falsch?
AKTUALISIEREN
Ausgabe von ps
(zur besseren Lesbarkeit bearbeitet), die imo gut aussieht:
$ 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
UPDATE 2
Tomcat 8 unter Ubuntu hat ähnliche Probleme, siehe http://java.dzone.com/articles/vaadin-docker-a-novices-journey
tomcat
debian-wheezy
Müller
quelle
quelle
ps
sieht meine Linie bis auf die JVM gleich aus. und das-Xmx
/-XX
, das auch später kommt; und ich habe die Sicherheit aktiviert. Was sind Ihre Paketversionen, übrigens?Antworten:
Mir ist aufgefallen, dass Sie dies nur sehen, wenn Sie rennen
configtest.sh
, und es gibt einen offensichtlichen Grund:CATALINA_BASE
et al. nur gesetzt werden/etc/init.d/tomcat8
. Wenn ichconfigtest.sh
wie Sie laufe , erhalte ich die gleiche Ausgabe.Wenn Sie auf
configtest
die gleiche Weise wie der Dämon ausgeführt werden möchten, möchten Sie wahrscheinlich hacken/etc/init.d/tomcat8
, um dieses Argument zu akzeptieren. Aus irgendeinem Grund haben sich die Paketbetreuer nicht um diese Probleme gekümmert. Es sieht auch so aus, als könnten Sie die Umgebungsvariablen vor dem Ausführen möglicherweise manuell festlegenconfigtest.sh
. Ich denke, ichcatalina.sh
werde sie abholen.Die
WARNING: Problem with directory
Zeilen stammen aus den eingestellten Klassenladepfaden/etc/tomcat8/catalina.properties
. Dies ist wahrscheinlich nur eine alte Kruft, die der Debian-Betreuer hinterlassen hat ... um alte Konfigurationen nicht zu stören? Es ist nicht alles im aktuellen Upstream vorhanden , und es wurde bereits zuvor diskutiert .quelle
configtest
macht es nur unklarer. Das Problem "Verzeichnisverzeichnis" und Protokollierung bleibt jedoch bestehen. Ich habe gerade nachgesehen. Also habe deine Antwort positiv bewertet, ist aber nicht "die" Antwort.Dies ist eine lange Saga. Das Hauptproblem ist, dass die Java-Community und die Linux-Community viele Quasi-Standards, Praktiken und Konventionen geschaffen haben, die sich in jeder Hinsicht irgendwie widersprechen.
Sie können Java und Linux leicht integrieren, aber Sie müssen beide lernen , und Sie müssen viele von ihnen auf beiden Seiten brechen. Wenn Sie nur eine kennen (entweder die Java- oder die Linux-Welt), befinden Sie sich in einer klaren Welt, in der Sie sich immer schmutzig machen müssen.
Ihr aktuelles Problem ist diesmal kein Problem mit Umgebungsvariablen, sondern ein einfaches Problem mit "Verzeichnis nicht vorhanden". Der einfachste Weg, diese Warnung zu vermeiden, besteht darin, das fehlende Verzeichnis / usr / share / tomcat8 / shared / classes einfach von Hand zu erstellen (obwohl dies ein wenig dem Linux-Zoll widerspricht).
Dieses Verzeichnis ist ein notwendiger Pfad zum Standard-Tomcat-JVM-Klassenladeprogramm, und es schadet höchstwahrscheinlich nichts, wenn es leer bleibt.
Vielleicht könnten Sie ein Contents-amd64.gz einchecken, wenn dieses Verzeichnis nicht von einem anderen Paket erstellt wurde. Wenn ja, installieren Sie das Paket.
quelle
Ich habe
tomcat8
laufen aufopenjdk-8-jdk
in einem Jessie LXC, und ich erhalte die gleichenWARNING
s ohne negative Wirkung. Ich verstehe das nichtSEVERE
. Aber meineps
Zeile lautet ...-Dcatalina.base=/var/lib/tomcat8 -Dcatalina.home=/usr/share/tomcat8 -Djava.io.tmpdir=/tmp/tomcat8-tomcat8-tmp
....quelle
JAVA_HOME
in/etc/default/tomcat8
. Aber ich habe nur die eine Version installiert.ps
Ausgabe! Das macht das Verhalten noch seltsamer. In meinem Fall funktioniert die Webanwendung trotz aller Warnungen und schwerwiegenden Meldungen einfach!?