JBoss: Implementierung schlägt fehl mit " ClassNotFoundException, obwohl die Klasse ist da - JaxrsScanningProcessor

Habe ich eine war-Datei mit REST-services. Setzt es Prima in der JBoss EAP 6.2 (entspricht 7 an.etwas) in den standalone-Modus, aber es funktioniert nicht manchmal - aber oft - im domain-Modus mit einer ClassNotFoundException für meine Unterklasse der die JAX-RS-Application-Klasse, auch wenn es in den Krieg (gut, es läuft auch standalone). Da es manchmal funktioniert, ich vermute, es gibt einige Parallelität Problem, das führt zu JBoss versuchen, um die Klasse laden, bevor Sie es sehen können.

Dies ist der Fehler:

ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Fehler beim starten 
service jboss.- Bereitstellung.Einheit.myapp.POST_MODULE: org.jboss.msc.service.StartException in 
service jboss.- Bereitstellung.Einheit.myapp.POST_MODULE: JBAS018733: Fehler beim verarbeiten des phase POST_MODULE der Bereitstellung "myapp" 
bei org.jboss.als.server.- Bereitstellung.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127) 
... 
Verursacht durch: org.jboss.als.server.- Bereitstellung.DeploymentUnitProcessingException: JBAS011230: Konnte nicht geladen, JAX-RS Application-Klasse 
bei org.jboss.als.jaxrs.- Bereitstellung.JaxrsScanningProcessor.scan(JaxrsScanningProcessor.java:218) 
bei org.jboss.als.jaxrs.- Bereitstellung.JaxrsScanningProcessor.bereitstellen(JaxrsScanningProcessor.java:100) 
bei org.jboss.als.server.- Bereitstellung.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120) 
[jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] 
... 5 mehr 
Verursacht durch: java.lang.ClassNotFoundException: myapp.rs.RestApplication von [Modul "deployment.Anwendung:main" - von Service-Modul-Lader] 
bei org.jboss.Module.ModuleClassLoader.findClass(ModuleClassLoader.java:197) 
[jboss-Module.jar:1.3.0.Final-redhat-2] 
... 
bei org.jboss.Module.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118) [jboss-Module.jar:1.3.0.Final-redhat-2] 
bei org.jboss.als.jaxrs.- Bereitstellung.JaxrsScanningProcessor.scan(JaxrsScanningProcessor.java:214) 
... 7 mehr 

Der Klasse gibt es:

[jboss/domain]$ unzip-l data/content/6c/0ffc675ff1c2254540b6e8caffc0d2605ed549/content | grep RestApp 
2262 02-13-14 09:05 WEB-INF/classes/myapp/rs/RestApplication.class 

Dies ist, wie ich im Einsatz (mein Benutzer != die Benutzer ausführen jboss, ob das einen Unterschied macht):

me$ /opt/jboss/bin/jboss-cli.sh -c --controller=0.0.0.0:49999 --user=admin --password=***
[domain@0.0.0.0:49999 /] deploy /vagrant/myapp.war --all-server-groups

Schlägt die Bereitstellung in der gleichen Weise ausgeführt, wenn Sie über die web-Admin-Konsole. Die Bereitstellung eigenständige erfolgt durch kopieren der .Krieg der standalone/deployments/ Verzeichnis.

Irgendwelche Tipps?

Config info

  1. JBoss EAP 6.2
  2. Rest Einfach 3.0.6 (anstelle der Standard-2.x-Modul)
  3. Wir haben keine JAX-RS Zeug in web.xml abgesehen von der resteasy.servlet.mapping.prefix context-param; wir verwenden die resteasy-servlet-initializer Bibliothek statt der manuellen Konfiguration einer servlet oder ähnliches drin
Es scheint, ich habe das problem behoben, indem alle resteasy/jaxrs/jboss-Bibliotheken aus der war-Datei ist WEB-INF/lib/.

InformationsquelleAutor Jakub Holy | 2014-02-14

Schreibe einen Kommentar