Frage

Ich habe versucht, für Buchungen umzusehen, die ihr helfen können, kann nicht finden alle.

Ich bin ein offenes Ohr für JBoss4 Server bereitstellen, und ich begann, mit diesem Problem, da ich ein neues Projekt hinzugefügt.

Dieses neue Projekt als Java-Projekt in Eclipse definiert ist, und das EAR-Projekt hat ein EJB-Projekt, das das neue Java-Projekt als eines der Projekte, wie von ihrer abhängigen hat auf - wenn auf JBoss lokal über Eclipse eingesetzt wird, gibt es kein Problem ist und alles glatt geht

Aber wenn JBoss in Testumgebung (außerhalb von Eclipse) eingesetzt wird, wurde immer java.lang.NoClassDefFoundError auf einem der Klassen, die in dem neuen Java-Projekt definiert sind.

Ich sah in der EAR-Datei in das Gefäß (EJB-Projekt) zu bekommen, und dann in den Topf, kann ich die Verzeichnisstruktur und alle Klassendateien aus dem neuen Java-Projekt sehen - das heißt. Die Klasse, es beschwert sich über genau dort in der Ohr-> JAR und Anpassung der genauen Struktur, dass es sucht.

Ich bin verloren, was ich sonst noch betrachten kann.

sind Alle Zeiger sehr geschätzt!

Danke

War es hilfreich?

Lösung

Sie erhalten häufig diese Fehler, wenn es eine Abweichung in der Art und Weise ist wurden einige der Klassen zusammengestellt. Wenn Sie zum Beispiel einige der Klassen in einer späteren Version des JDK ohne Einstellung des Java-Compliance-Niveau, und Sie laufen sie mit einer früheren Version erstellt.

Mein Vorschlag ist, mit dem JDK Sie ausführen JBoss zu überprüfen, dann überprüfen Sie, wie Sie Ihre Klassen kompiliert

Andere Tipps

hatte ich ein Problem wie das mit JBoss 4: ClassNotFoundException und NoClassDefFoundError zur Laufzeit, auch wenn der Code gut zusammengestellt. Es dauerte 4 Stunden, die Ursache herauszufinden.

Die BuildPath meiner Projekte waren in Ordnung, war das Problem tatsächlich in der ClassPath von JBoss. Ich löste es, indem Sie: JBoss 4.2 Runtime-Server> Öffnen Startkonfiguration> Konfiguration bearbeiten> ClassPath> Hinzufügen von JAR-Dateien und Projekte Link zu JBoss mit "Add JARs" / "Add Projekte"

.

wussten Eclipse-Klassen in den JAR-Dateien und die damit verbundene Projekte dank der BuildPath, so gab es keine Fehler in den IDE, aber der JBoss-Server nicht wußte, wo diese Klassen finden ...

Dies könnte auch durch Isolation Classloader Probleme sein, wenn Sie mehrere Krieg / Ohr Dateien

überprüfen ur Ohr-Datei. die Struktur wie das?

myapp.ear
|+ META-INF
   |+ applications.xml and jboss-app.xml
|+ myapp.war
   |+ web pages and JSP /JSF pages
   |+ WEB-INF
      |+ web.xml, jboss-web.xml, faces-config.xml etc.
      |+ lib
         |+ tag library JARs
      |+ classes
         |+ servlets and other classes used by web pages
|+ myapp.jar
   |+ EJB3 bean classes
   |+ META-INF
      |+ ejb-jar.xml and persistence.xml
|+ lib
   |+ Library JARs for the EAR

Wenn nicht, sollte u ur Ohr Datei neu verpacken.

Überprüfen Sie Eigenschaft " Class-Path :". In META-INF/MANIFEST.MF

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