Tomcat findet Dependencies nicht

Hallo,

die Frage ist wahrscheinlich ziemlich trivial, aber eigentlich arbeite ich mit Netbeans. Ich bin gerade dabei, ein Netbeans Projekt gezwungenermaßen nach Eclipse zu portieren, und bin an einen Punkt gekommen, wo es nicht mehr weitergeht.

Es handelt sich hierbei um eine Web-Anwendung welche auf einem Tomcat 7 deployed werden soll. Eine Abhängigkeit die das Projekt z.B. hat ist weld-servlet.
Soweit ich es verstehe, sollte Eclipse meine Projektabhängigkeiten nach WEB-INF/lib kopieren um sie auch meinem Tomcat bereitzustellen. Das passiert leider nicht, Tomcat findet keine jar Dateien, die nicht explizit in seinem lib Verzeichnis liegen. Die JARs jetzt aber in den Tomcat zu kopieren, kann ja nicht Sinn der Sache sein. Es handelt sich hierbei nicht um ein Maven Projekt sondern um ein ganz “normales” Eclipse Projekt. Habt ihr da ein paar Hinweise für mich, eine Einstellung die ich übersehen haben könnte?

Viele Grüße,
Tim

Ich kann dir nur zwei Dinge nennen, die du überprüfen könntest:

  • Ist das Projekt ein DynamicWebProject?
  • Befindet sich das JAR unter WebContent/WEB-INF/lib?

Ja, ist es.

  • Befindet sich das JAR unter WebContent/WEB-INF/lib?

Du meinst nach dem Build? Nein, leider nicht.

Er meint in deinem Projekt, also bereits in den Quellen (bei Eclipse ist vor dem Build nach dem Build, falls kein Buildtool verwendet wird).

Woher sollte Eclipse sonst die Abhaengigkeiten bekommen? :wink:
Kein Maven/Gradle/Ivy → du musst die Abhaengigkeiten aufloesen und einfuegen!

Ja, so landen die Jars im SCM, u.a. ist deswegen Maven so wichtig/nuetzlich, wuerde eher das ganze in ein Maven Projekt umwandeln, wenn es denn ein „wichtiges“ Projekt ist :slight_smile:

Mir wurde überall gesagt “Eclipse kopiert die JARs da automatisch rein”, davon war ich zunächst mal ausgegangen.
Die Antwort habe ich hier gefunden: http://www.mastertheboss.com/jboss-eclipse/eclipse-web-lib-configuration
Unter “Deployment Assembly” muss ich die JARS spezifizieren, die nach WEB-INF/lib kopiert werden, das passiert dann anscheinend dynamisch (und damit auch VCS konform).
@maki : Maven ist immer meine erste Wahl, durfte ich bei diesem Projekt aber leider nicht einsetzen.

Ich danke euch!

Hast natuerlich recht!

Hab uebersehen das weld-servlet anscheinend zum „Standard“ gehoert und von Eclipse verwaltet wird, dachte es geht um irgendeine WaldUndWiesen Jar aus dem Netz.

Denke das betrifft eben nur die Standard Jars, andere muessen irgendwo wieder als Dateien vorliegen.

Andere Wald- und Wiesenjars gehören da auch dazu, die habe ich auf meiner Platte (natürlich) auch liegen, aber in einem separaten Ordner. Das läuft in unserem aktuellen Team nach Konvention (alle haben die Librarys im selben Ordner liegen. Und nein, ich bin da nicht glücklich mit). Mir ging es nur darum, dass ich diese JARs nicht zusätzlich noch nach WEB-INF/lib kopieren muss, sondern dass es einen Prozess gibt, der mir diese automatisch (z.B. beim Deployment) kopiert. War vielleicht ein bisschen unglücklich ausgedrückt.