Tomcat Classpath

Vatar

Erfahrenes Mitglied
So, habe gerade angefangen mich in JSF einzuarbeiten und dafür nutze ich den Tomcat als Servlet-Container (6.0.10).

Zuerst hatte ich meine Anwendungsbezogen jars (also alles was ich so für JSF brauche) unter WEB-INF/lib liegen. Dort hat sie der Tomcat aber nicht gefunden und es lief erst nachdem ich es in den lib-Ordner des Servers geschoben habe. Da ich das aber recht unschön finde wollte ich fragen wie den Classpath vom Tomcat um die jars in der Webapp erweitern kann?

Danke
 
Hallo,

also eigentlich sollte der Tomcat die jars deiner Web-App die unter WEB-INF/lib liegen ohne Probleme finden...
http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html

Ansonsten gäbs noch die Möglichkeit die jars ins common/lib Verzeichnis von Tomcat zu kopieren. Da stehen sie dann allen Webanwendungen (und auch der Tomcat Laufzeit selbst) zur Verfügung. In früheren Tomcat Versionen gabs auch noch einen Shared ClassLoader (TOMCAT_HOME/shared/lib) jars die dort lagen wurden nur von den WebApps jedoch nicht von der Tomcat Laufzeit gesehen.

Gruß Tom
 
Eben...eigentlich sollte es gehen, tut es aber definitiv nicht :)

Zu Tomcat 6: commons/lib und shared/lib gibts nicht mehr, stattdessen nur noch lib (und wenn ich die jars wie gesagt da reinpacke läufts).

Könnte es auch was mit dem Verwendeten JRE zu tun haben (ich nutze 6.0)? In dem HowTo stand was von XML Parser ab JSE 5, allerdings füge ich keinen XML Parser hinzu.

Hier mal die jars
  • commons-beanutils.jar
  • commons-collections-3.2.jar
  • commons-digester-1.8.jar
  • commons-logging-1.1.jar
  • jsf-api.jar
  • jsf-impl.jar
  • jstl.jar
  • standard.jar
 
Hallo,

scheinbar sind die common / shared Verzeichnisse in Tomcat 6 optional:
Schau mal in
D:\stuff\tomcat\6.0.10\apache-tomcat-6.0.10\conf -> catalina.properties
Code:
common.loader
shared.loader=
Dort kannst du die ClassLoader entsprechend konfigurieren :)

Gruß Tom
 

Neue Beiträge

Zurück