Tomcat 8 auf Linux installieren und in Eclipse einbinden

Die manuelle Installation eines separaten Apache-Tomcat ist für Entwickler oft die beste Variante.

Zwar lässt sich Tomcat auch über die Paketverwaltung oder direkt aus Eclipse heraus installieren, allerdings bringt das einige handfeste Nachteile mit sich. Ich hatte mit solchen Installationen bisher immer lästige Konflikte mit inkompatiblen Libraries oder bereits vorhandenen Versionen. Insbesondere bei der Installation aus Eclipse ist kaum überschaubar, welche Bibliothken wohin installiert werden und welche Konflikte mit vorhandenen Paketen auftreten.

Eine separate Tomcat-Installation hat entscheidende Vorteile:

  • Es können problemlos mehrere Tomcat-Versionen parallel betrieben werden.
  • Der Tomcat funktioniert unabhängig von der Entwicklungsumgebung und kann standalone sowie mit Eclipse, Netbeans, Idea oder anderen Entwicklungsumgebungen verwendet werden.
  • Die Installation ist kompakt und übersichtlich und entspricht schon während der Entwicklungsphase einem standardmäßigen separaten Produktivsystem.
  • Der Installationsort sowie die WebApp-Verzeichnisse können frei konfiguriert werden.

Die Installation besteht aus wenigen Schritten, hier detailliert auf einem openSUSE-System gezeigt. Abgesehen vom systemspezifischen Abweichungen sind diese Schritte auch auf andere Distributionen übertragbar.

Download & Installation

  • Tomcat 8 als passendes TAR downloaden, zB apache-tomcat-8.0.17.tar.gz von
    Tomcat 8 Downloads
  • tomcat-verzeichnisTAR nach /usr/share/apache-tomcat-8.0.17 entpacken:
    $ cd ~/Downloads
    $ sudo tar -xzf apache-tomcat-8.0.17.tar.gz -C /usr/share/
    

     

Gruppe & Benutzer zuordnen

Vor allem im Produktivbetrieb sollte der Tomcat immer im eigenen User-Kontext laufen, nicht mit den Rechten des angemeldeten Benutzers oder gar als Root. Es werden also Gruppe und Benutzer für den Tomcat angelegt:

$ sudo /usr/sbin/groupadd tomcat
$ sudo /usr/sbin/useradd -s /bin/false -d /usr/share/apache-tomcat-8.0.17 tomcat 
$ sudo /usr/sbin/usermod -G tomcat tomcat

Solange der Tomcat zur Entwicklung eingesetzt wird, ist es sinnvoll, dass der angemeldete Benutzer alle Zugriffsrechte besitzt. Zu diesem Zweck wird der aktuelle Benutzer-Account (im Beispiel “jann”) mit der neuen Gruppe “tomcat” verknüpft:

$ sudo /usr/sbin/usermod -a -G tomcat jann

Als Owner des Tomcat wird (abweichend von Produktivumgebungen) der Benutzer festgelegt. Damit ist sichergestellt, dass dieser Benutzer den Tomcat jederzeit starten, stoppen und konfigurieren kann, ohne den Account zu wechseln oder als Root agieren zu müssen:

$ sudo chown -R jann:tomcat /usr/share/apache-tomcat-8.0.17

Damit ist der Tomcat schon startbereit:

$ /usr/share/apache-tomcat-8.0.17/bin/startup.sh

Das laufende Log kann so geprüft werden:

$ tail -f /usr/share/apache-tomcat-8.0.17/logs/catalina.out

Nach einem fehlerfreien Start kann der Tomcat mit http://localhost:8080 im Browser aufgerufen werden:

Tomcat im BrowserWenn das funktioniert, wird der Tomcat zunächst wieder gestoppt:

$ /usr/share/apache-tomcat-8.0.17/bin/shutdown.sh

Tomcat 8 in Eclipse einbinden

Tomcat als Runtime-Server einbinden

Tomcat als Runtime-Server einbinden

Damit der Tomcat auch direkt in Eclipse verwendet werden kann, muss er dort per Menü “Window | Preferences” als “Server Runtime Environment” eingebunden werden.

Anschließend kann der Tomcat einem Eclipse-Projekt als Runtime-Server zugewiesen werden, und die Anwendung kann mit Eclipse auf diesem Server ausgeführt werden.

Wie eine Anwendung in Eclipse mit einem Runtime-Server verknüpft wird, beschreibe ich hier nicht — andere Baustelle und für Application-Entwickler sicherlich keine größere Hürde.

HTTP Status 404 korrigierenTomcat in Eclipse: HTTP-Status 404

Ein Fallstrick lauert allerdings noch. Beim ersten Start einer Anwendung bzw. eines Servlets mit dem frisch eingebundenen Tomcat, erhält man wahrscheinlich einen 404-Fehler.

Kein Problem, der eingebundene Tomcat muss nur noch etwas umkonfiguriert werden.

    • Über Menü “Window | Show View | Servers” die Servers-Liste öffnen. Diese sollte den eingebundenen Tomcat-Server anzeigen. Für die folgende Konfiguration sollte der Server kein Modul enhalten. Wenn sich also bereits ein Modul untTomcat Propertieser dem Server befindet, dieses per Kontextmenü oder [ENTF] vom Server entfernen.

 

    • Nun mit Kontextmenü die “Properties” des Tomcat öfftomcat-switchnen.Dort mit “Switch Location” umschalten, so dass dort nicht mehr [workspace metadata] steht.

 

  • Nun mit Doppelklick oder mit Kontextmenü “Open” die Einstellungen des Servers öffnen. Dort die “Server Location” von “Use workspace metadata” auf “Use Tomcat installation” umschalten. Den “Deploy Path” auf den standardmäßigen Tomcat-Deploy-Pfad abändern. Speichern [STRG + S]. Falls diese Komponenten disabled sind, enthält der Server entweder noch Module oder wurde nach Entfernung vorhandener Module noch nicht wieder “published”. Dies muss zunächst erledigt werden (per Kontextmenü in der Server-Liste).Tomcat Server Locations

Nun kann der gleiche Tomcat sowohl separat als auch aus Eclipse heraus verwendet werden. Beim Deploy werden Anwendungen direkt in das WebApp-Verzeichnis des installierten Tomcat erstellt. Die Pfade und weitere Tomcat-Optionen können außerdem anwendungsspezifisch per “Run Configuration” und “VM Arguments” konfiguriert werden.

Tomcat in Eclipse

Damit ist die Installation eines Standalone-Tomcat sowie seine Einbindung als Runtime-Server in Eclipse abgeschlossen. Hinweise, Ergänzungen, Korrekturen selbstverständlich willkommen.

Ein Kommentar

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *