Warum muss für die Installation von Tomcat6 ein Softlink zu /usr/share/java erstellt werden?

Warum muss für die Installation von Tomcat6 ein Softlink zu /usr/share/java erstellt werden?

Ich habe Tomcat6 auf Lucid gemäß diesen Anweisungen installiert:https://help.ubuntu.com/10.04/serverguide/C/tomcat.html

(Ich habe keine Version auf Instanzebene erstellt – die Version auf Systemebene war in Ordnung)

Beim Versuch, es zu starten, wurde im Protokoll folgender Fehler angezeigt:

java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:216)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:391)

Dieses Problem wurde wie folgt behoben:

root@...:/var/lib/tomcat6# ln -s /usr/share/java lib

Warum musste ich das tun? Warum funktioniert es nicht sofort? (Warum ist das nicht in derUbuntu-Handbuch zu Tomcat?)

Antwort1

Installieren von Tomcat mit:

sudo apt-get install tomcat6

Tomcat sollte problemlos als Dienst installiert und gestartet werden. Der Dienst kann mit folgendem Befehl gestartet und gestoppt werden:

sudo /etc/init.d/tomcat6 start
sudo /etc/init.d/tomcat6 stop

Sie können überprüfen, ob der Dienst ausgeführt wird http://localhost:8080/, indem Sie entweder in einem Browser oder über die Befehlszeile Folgendes anzeigen:

curl http://localhost:8080/

Wenn dies bei Ihnen nicht sofort funktioniert, stimmt entweder etwas mit der Einrichtung Ihres Computers nicht oder mit der Art und Weise, wie Sie versuchen, den Tomcat-Dienst auszuführen.

Wenn Sie versuchen, Tomcat auf eine andere Weise als mit dem Skript /etc/init.d/tomcat6 auszuführen, treten wahrscheinlich Komplikationen auf. Es gibt zwei Umgebungsvariablen, die definieren, wo sich die Tomcat-Distribution und -Dateien befinden: CATALINA_HOME und CATALINA_BASE. Bei einer Standardinstallation des Pakets werden diese automatisch vom Skript init.d wie folgt festgelegt:

CATALINA_HOME=/usr/share/tomcat6
CATALINA_BASE=/var/lib/tomcat6

Wenn Sie versuchen, Tomcat auf eine andere Weise auszuführen, ist es möglich, dass diese Variablen nicht richtig eingestellt sind, was zu dem von Ihnen beschriebenen Fehler führen könnte.

Der gepackte Tomcat-Server ist für die Ausführung von Tomcat als Hintergrunddienst auf einem Server konzipiert und sollte daher eigentlich nur mit dem Skript init.d gestartet und gestoppt werden. Wenn Sie versuchen, Tomcat auf einer Entwicklungsmaschine auszuführen (z. B. von einer IDE wie Eclipise), werden Sie feststellen, dass die Art und Weise, wie das Paket Tomcat installiert, ungeeignet ist. Sie sollten stattdessen eine private Instanz installieren, entweder mit demAnweisungenim Serverhandbuch oder durchwird heruntergeladenes direkt von der Tomcat-Website und extrahieren Sie es manuell.

verwandte Informationen