Frage

Hallo, ich verwende derzeit die Jodatime -Bibliothek in meinen Netbeans Rastful Web Services auf Glassfish Server mit Jackson -Bibliotheken.

Ich erhalte einen java.lang.noclassDeffoundError für org/joda/time/lesbarablePartial, wenn ich versuche, eine Instanz einer Klasse zu erstellen, die die Jodatime -Bibliothek in einer der Ressourcendateien verwendet. Z.B:

In der studentResource -Datei:

     Controller c = new Controller();

Wo die Controller -Klasse Jodatime -Bibliotheken importiert und verwendet

Ich habe überprüft, ob die Bibliotheken, die ich brauchte, im Projekt sind. Wenn ich ein separates Projekt außerhalb der erholsamen Webdienste betreibe, läuft alles reibungslos. Gibt es ein zusätzliches Klassenpath -Problem, das ich angehen muss?

War es hilfreich?

Lösung 3

Ok, ich habe die Lösung gefunden. Anscheinend musste ich nur die JAR -Datei in der Liste der Bibliotheken/JAR -Dateien verschieben. Ich mache das auf der Registerkarte Bibliothek in den Eigenschaften des Projekts. Insbesondere muss die JAR -Datei über die restlichen Bibliotheken verschoben werden.

Andere Tipps

Falls jemand das gleiche Problem unter Verwendung der Feder stolpert:

Dieses Problem erscheint, wenn Sie versuchen, JSON einem Java -Objekt zuzuordnen, indem Sie Jackson entweder über @RequestBody Annotation on Controller -Parameter verwenden oder mit einem ObjectMapper (). ReadValue (JSON, Class.class) manuell deserialisieren. Alles funktioniert gut auf der lokalen Maschine, aber beim Bereitstellen der Anwendung für die Deserialisierung von Glassfish schlägt fehl.

Keegs Problemumgehung, um Joda-Time.jar in Glassfish/Module zu kopieren und das Problem neu zu starten.

Es scheint einen Fehler zu geben, der bei Jira zu diesem Problem geöffnet ist:https://java.net/jira/browse/glassfish-20808

Nur für den Fall, dass jemand anderes dieses Problem stolpert, hatten wir ein ähnliches Problem mit der Kombination von Glassfish 3.1.1, Jersey und Verwendung der Joda -Zeit. Stacktraces wie diese:

Caused by: java.lang.ClassNotFoundException: org.joda.time.ReadableInstant not found by jackson-mapper-asl [128]
    at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)

usw.

Die Problemumgehung, die ich gerade gefunden habe, war, eine Kopie unseres Joda-Zeit-Glass in Glassfish/Module zu werfen. Nicht gerade hübsch, aber ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top