Tomcat 5.5 Webapp libs laden ?!

bl4ck29

Mitglied
Guten Morgen,

ich hab ein dyn. Web-Project in Eclispe, welches über ein <Context></Context> Tag in der Server.xml in den Tomcat eingebunden ist. Im moment habe ich alle benoetigten Libs im WEB-INF/lib und im Tomcat/common/libs Dir abgelegt. Nun soll sich der Tomcat per Classloader die Libs aus dem WEB-INF/lib holen, damit ich die Libraries nicht redundant ablegen muss. Ich hab Hinweise gefunden das es über einen WebappLoader klappt, aber nirgendwo ein Beispiel wo dieser zu definieren/einzubinden ist. Ich hoffe ihr könnt mir nen Hinweis/Beispiel geben....

MfG
 
Hallo,

ja die WebApp schon aber Tomcat nicht. Die Jar File fuer die MySQL Datenbank Anbindung muss ich im Tomcat seperat ablegen, da User und PW Anfragen an eine Datenbank gehn. Diverse Listerner (u.a. JavaServer Faces Listener) muesste ich ins common/lib des Tomcat packen, da er sonst beim starten die Klassen nicht findet. Die Jars liegen alle im WebApp und ich hab gehofft man könnte dem Tomcat sagen das er dort ebenfalls suchen soll und nicht nur im commen/lib...

Das MySQL Jar macht ja noch Sinn im commen/lib Verzeichnis, da diese nicht projectbezogen ist. Aber ich verstehe nicht warum ich die MyFaces Sachen doppelt ablegen muss

MfG
 
Zuletzt bearbeitet:
Kannst du mir erklären, wieso der MySQLConnector im tomcat liegen muss? Warum soll der nicht auch in WEB-INF/lib liegen können? Bei den JSF bibliotheken genauso... warum braucht die der tomcat?

common/lib ist für Bibliotheken, die du in mehreren Anwendungen gleichzeitig benutzen willst (MySQL Connector wäre ein Beispiel). Du kannst die Bibliotheken da hin legen um zu vermeiden, dass du sie in mehreren Projekten doppelt deployen musst. Du musst sie allerdings nicht dahin legen. Es spricht erstma nix dagegen alles in WEB-INF/lib zu legen...

Gruß
Ollie
 
exakt, nur mein Problem ist, dass der Tomcat "Class Not Found Exceptions" schmeisst da er scheinbar die Libs im WEB-INF/lib nicht sieht/findet obwohl sie dort liegen. Scheinbar sucht er im WEB-INF/lib nicht, anders kann ich es mir nicht erklären und nun versuche ich dem Tomcat zu zeigen das er dort suchen soll. Und wie ich das mache, wollte ich nun wissen ;)

Ich hab die Wep Application nicht im Tomcat Webapp liegen sondern per <Context></Context> in der Server.xml eingebunden.....kann das ein Problem sein ? Gibts da vielleicht ein <Tag> was die Sichtbarkeit der Libs nach aussen einschränkt ?

MfG
 
exakt, nur mein Problem ist, dass der Tomcat "Class Not Found Exceptions" schmeisst da er scheinbar die Libs im WEB-INF/lib nicht sieht/findet obwohl sie dort liegen. Scheinbar sucht er im WEB-INF/lib nicht, anders kann ich es mir nicht erklären und nun versuche ich dem Tomcat zu zeigen das er dort suchen soll. Und wie ich das mache, wollte ich nun wissen ;)

Tomcat sollte die JARs in WEB-INF/lib auf jeden Fall finden. Wenn nicht, machst wohl eher du oder deine Anwendung einen Fehler ;)

Ich hab die Wep Application nicht im Tomcat Webapp liegen sondern per <Context></Context> in der Server.xml eingebunden.....kann das ein Problem sein ? Gibts da vielleicht ein <Tag> was die Sichtbarkeit der Libs nach aussen einschränkt ?

MfG

Gibt es einen Grund, warum du die Anwendung nicht einfach in webapps wirft? Ich mein... wenn du den standardkonformen Weg verlässt, treten natürlich leichter Fehler auf. Versuch doch mal die Anwendung einfach in webapps zu deployen. Wenn es dann funktioniert, ist wahrscheinlich was an deiner <context /> konfiguration falsch...

Gruß
Ollie
 
es wird wohl an mir oder der Anwendung liegen, dass die Libs nicht gefunden werden, und grade das will ich ja beheben....

Der Grund warum es so deployed wird ist, dass das System so besteht und schon Bestand hatte bevor ich die Betreuung übernommen habe. Der Schöpfer wird sich dabei irgendwas gedacht haben, was ist im moment nicht nachvollziehen kann. Ich bin grad dabei das ganze etwas zu Refactorn, um Struktur darein zu bringen. Ich kann nur nicht alles auf einmal ändern, weil dann am Ende des Tages nix mehr läuft und ich keinen Überblick mehr hab was ich eigentlich gemacht hab und was den Fehler verursacht.

Und so unkonform kann der Weg ja nicht sein, sonst würd es diese Möglichkeit nicht geben das Projekt so einzubinden.
 
Menschliches Versagen ist das Problem....ich hab schlicht und einfach die Libs nicht in den WEB-INF/lib Ordner gepackt, die scheinen woanders gelandet zu sein....wo weiss ich atm noch nicht. Damit wäre das Problem gegessen und man sollte immer den einfachsten Fehler zuerst kontrollieren, bevor man sich unnötig Arbeit macht ;)

Trotzdem danke für deine Hilfe!

MfG
 

Neue Beiträge

Zurück