Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ClassnotfoundException zur Laufzeit im Maven2-Webprojekt
immer wenn ich in Eclipse ein Dynamic Webproject anlege und dies mit Maven-Dependency-Management des m2eclipse-Plugins verwalte, muss ich trotzdem immer noch manuell die Maven-Dependency-JARs aus dem Maven-Repository in den WEB-INF/lib Ordner rein importieren!!! Weil sonst bekomme ich immer eine Classnotfound-Exception im Browser angezeigt! sowas muss doch automatisch gehen, dass die MAven-Dependency-JARS auch zur LAufzeit verfügbar gemacht werden, oder? Könnt ihr mir bitte sagen was ich da einstellen muss damit ich mir dieses manuelle Importgewurschtel da jedesmal spare?
Super danke, jetzt gehts. Aber der lib-Folder im Eclipseprojekt bleibt trotzdem leer...also werden die jars nur dynamisch virtuell in den lib-Folder reinverlinkt zur Laufzeit, wenn ich das richtig verstehe.
D.h. es compiliert deine Java files und kopiert deine Resources und deine Dependencies ins "target" directory. Und am Schluss wird daraus ein .war file erstellt.
Per default kopiert Maven nichts in deinen original Sourcecode.
Fuer Eclipse gibt es ein Maven plugin, welches deine Dependencies zum Classpath hinzufuegt, aber es werden niemals libraries in dein /WEB-INF/lib directory kopiert. (ausser du definierst das in deinem pom.xml)
In deinem Projekt Einstellungen kannst du definierten ob der "Maven" classpath auch deployt werden soll.
Wobei man da dann ein wenig aufpassen muss, weil da dann natürlich auch JARs mit deployt werden, die bei einem Mavenbuild nachher nicht mit deployed werden (z.B. bei Scope "test"), da Eclipse die Scopes ja nicht trennt.
Wobei man da dann ein wenig aufpassen muss, weil da dann natürlich auch JARs mit deployt werden, die bei einem Mavenbuild nachher nicht mit deployed werden (z.B. bei Scope "test"), da Eclipse die Scopes ja nicht trennt.
Stimmt, ich hatte auch schon damit zu kaempfen, aber die 'test' libraries sind hier nicht das Problem. Es sind eher die als 'provided' definierten Libraries z.B. (servlet-api.jar) welche Classloader Probleme verursachen koennen.
In meinem Projekt hab ich das Maven Classpath deployment ausgeschaltet und dafuer aber die Libs in /target/<artifact>/WEB-INF/lib zum Deployment Assembly hinzugefuegt
Ich habe das gleiche Problem und dieses Thema dazu gefunden. Ich habe zwei Projekte: Während eins die benötigten Maven Dependencies deployt, bekomme ich beim anderen Projekt ein ClassNotFound Exception.
<!-- Because this is a web app, we also have a dependency on the servlet api. -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>6.0.35</version>
</dependency>
<!-- Hibernate uses slf4j for logging, for our purposes here use the simple backend -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.4</version>
</dependency>
<!-- Hibernate gives you a choice of bytecode providers between cglib and javassist -->
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.1.GA</version>
</dependency>
Als letztes hatte ich die jboss-logging.jar dem WEB-INF/lib Ordner hinzugefügt. Nun bettelt er nach der jta.jar. Also er deployt die Jars aus den Dependencies nich wie im anderen Projekt wo es läuft.
Man sollte schon sein Problem genau beschreiben wenn man hilfe möchte.
Eine ClassNotFoundException ist was ganz anderes als ein NoClassDefFoundError und per Trial & Error Jars nach WEB-INF/lib zu kopieren ist auch nicht wirklich zielführend.
So wie die Dinge bis jetzt beschrieben sind, kann dir hier keiner helfen.
Man sollte schon sein Problem genau beschreiben wenn man hilfe möchte.
Eine ClassNotFoundException ist was ganz anderes als ein NoClassDefFoundError und per Trial & Error Jars nach WEB-INF/lib zu kopieren ist auch nicht wirklich zielführend.
So wie die Dinge bis jetzt beschrieben sind, kann dir hier keiner helfen.
Äh. ClassNotFound sowie NoClassDefFoundError konnte ich mit den letzten "Trial & Error copies" beide beseitigen. Und das es nicht zielführend ist ist mir klar, sonst würde ich nicht die Frage stellen warum es beim anderen Projekt anders läuft und wie ich es in diesem Projekt auch hinbekomme...
Als ich die logging jar hinzufügen sollte war es eine ClassNotFound Exception. Egal, habe alle Angaben zum Problem gemacht, wenn was fehlen sollte gibt man dem Problemsteller den Hinweis und tut es nicht ab mit : Dir kann nicht geholfen werden.
1. Maven ist ein Build Tools und enthält die Wahrheit...
Bedeutet man legt das Projekt mit Maven an und nicht mit Eclipse
2. m2eclipse Plugin von Eclipse sollte eigentlich nicht mehr verwendet werden
Es sollte m2e Verwendung finden. Abgesehen davon m2e ist ein Maven Plugin
für Eclipse und somit Verwaltet man die Dependencies in Maven und nicht
in Eclipse.
Weiterhin fällt mir auf, dass in der POM Repositories definiert sind... das gibt mir den Hinweis, dass kein Repository Manager Verwendung findet was recht ungünstig ist....
tagedieb hat auf einige dieser Punkte schon hingewiesen...
maki hat auch darauf hingewiesen, dass zu einer möglichen Problemlösung eine genau Problembeschreibung gehört...