Java ClassNotFoundException mit Abhängigkeit maven
Ich bin immer ClassNotFoundException
und NoClassDefFoundError
Ausnahmen, wenn ich Versuch, meine Anwendung mit maven definiert eine Abhängigkeit.
Habe ich meine maven dependency für das Glas in Frage zu meiner pom.xml
- Datei mit der folgenden Erklärung:
<dependency>
<groupId>spy</groupId>
<artifactId>spymemcached</artifactId>
<version>2.8.4</version>
<scope>provided</scope>
</dependency>
Diese Hinzugefügt, die entsprechenden JAR-Datei auf meinem Maven-Dependencies-Ordner in Eclipse. Kann ich den Zugriff auf die Klassen im code, aber ich bekomme die erwähnten Ausnahmen, sobald ich die Anwendung ausführen.
Das Glas wird in meiner Java build path unter Maven-Abhängigkeiten:
Meinem lokalen maven-repository ist Hinzugefügt, um mein classpath:
Wenn ich Versuch, die Anwendung auszuführen, bekomme ich die folgenden zwei Ausnahmen:
java.lang.NoClassDefFoundError: Lnet/spy/memcached/MemcachedClient;
java.lang.ClassNotFoundException: net.spy.memcached.MemcachedClient
Kann jemand mich in die richtige Richtung?
InformationsquelleAutor der Frage Vex | 2012-10-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern
provided
zucompile
Zur Verfügung gestellt
InformationsquelleAutor der Antwort Jigar Joshi
""Scope bedeutet, dass die Abhängigkeiten sollten nur während der compile-phase und werden Sie an anderer Stelle während der Laufzeit und Maven-sollte nicht in einem Paket mit dem rest der jar-Dateien und Klassen, die von der aktuellen Anwendung.
Ihre Abhängigkeit nicht zu sein scheinen "" Umfang. Entfernen Sie den Rahmen von Ihrem Abhängigkeits-definition und die Gläser werden in Ihre gepackten jar/war/ear.
InformationsquelleAutor der Antwort Vikdor
War ich vor dem gleichen Problem, aber ich habe nicht den tag definiert, an meinem POM, es war immer wunderbar funktioniert, bis eines Tages plötzlich begann er mir den Fehler in meiner lokalen Maschine für keinen Grund, die Abhängigkeit war richtig eingestellt, die bis in die POM und das Glas war in der lokalen maven-repository.
Ich habe versucht, die Reinigung der Projekt-und Update-maven Projekt, aber nichts, keine anderen Lösungen vorgeschlagen, die auf anderen posten für mich gearbeitet.
War ich endlich in der Lage, es zu lösen, indem Sie auf der Registerkarte Server -> Rechtsklick auf Tomcat-v8.0 -> durchsuchen Einsatzort
dies sollte dazu führen, Sie zu einem temp-Ordner wie
.die Metadaten.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
dann navigieren Sie zu Ihrem Projekt-Ordner -> WEB-INF -> lib -> hier fand ich heraus, dass das Glas aus der Bibliothek, die den Fehler gab fehlte, so dass ich nur kopiert aus .m2\repository
Neu gestartet, den server und es begann wieder wie gewohnt.
Ich hoffe das hilft einigen Körper vor dem gleichen Problem.
InformationsquelleAutor der Antwort MFJ
Füge unten Abhängigkeit, Es wird das Problem zu beheben.
InformationsquelleAutor der Antwort Arpan Saini