2014-02-21 9 views
6

Ich lese in anderen Themen, aber ich kann das nicht ganz herausfinden. Ich habe ein EJB-Modul, das log4j verwendet. Ich möchte dieses EJB in eine JAR-Datei packen und den WEB-INF/lib-Pfad eines Webprojekts einfügen. Das Webprojekt hat ein Servlet, das eine Funktion vom EJB ausführt, und das war's. Aber scheint, dass der Appender nicht funktioniert, denn die Datei wird erstellt, aber nicht geschrieben.Fehler beim Verarbeiten der Phase STRUKTUR der Bereitstellung

Ich habe gelesen, dass ein Deployment-Deskriptor für JBoss, so dass ich eine basierend auf einem der vorherigen Beiträge erstellt. Aber ich bekomme einen Fehler "Fehler beim Verarbeiten der Phase STRUCTURE der Bereitstellung".

12: 04: 44.905 ERROR [org.jboss.msc.service.fail] (MSC Dienstthread 1-2) MSC00001. Fehlgeschlagen jboss.deployment.unit Dienst starten "SampleWeb.war" .STRUCTURE : org.jboss.msc.service.StartException in Dienst jboss.deployment.unit. "SampleWeb.war" .STRUCTURE: Die Phase STRUCTURE der Implementierung "SampleWeb.war" konnte nicht unter org.jboss.as.server.deployment verarbeitet werden. DeploymentUnitPhaseService.start (DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar: 7.1.1.Final] bei org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService (ServiceControllerImpl.java : 1811) [jboss-msc-1.0.2.GA.jar: 1.0.2.GA] bei org.jboss.msc.service.ServiceControllerImpl $ StartTask.run (ServiceControllerImpl.java:1746) [jboss-msc-1.0 .2.GA.jar: 1.0.2.GA] bei java.util.concurrent.ThreadPoolExecutor.runWorker (Unbekannte Quelle) [rt.jar: 1.7.0_21] bei java.util.concurrent.ThreadPoolExecutor $ Worker.run (Unbekannte Quelle) [rt. jar: 1.7.0_21] bei java.lang.Thread.run (Unbekannte Quelle) [rt.jar: 1.7.0_21] Verursacht von: org.jboss.as.server.deployment.DeploymentUnitProcessingException: Sub-Deployment SampleEJB.jar in jboss-struktur.xml wurde nicht gefunden. Verfügbare Unterbereitstellungen: bei org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParserDeploymentNotFound (DeploymentStructureDescriptorParser.java:233) [jboss-as-server-7.1.1.Final.jar: 7.1.1.Final ] bei org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.deploy (DeploymentStructureDescriptorParser.java:159) [jboss-as-server-7.1.1.Final.jar: 7.1.1.Final] um org.jboss.as.server.deployment.DeploymentUnitPhaseService.start (DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar: 7.1.1.Final] ... 5 weitere

Hier ist die jboss-deployment-structure.xml, die ich erstellt habe. Da das Webprojekt nur die EJB-JAR-Datei verwendet, die ich erstellt habe, ging ich davon aus, dass das Implementierungs-Tag nicht verwendet wird.

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure> 
<sub-deployment name="SampleEJB.jar"> 
    <exclusions> 
     <module name="org.apache.log4j"/> 
     <module name="org.slf4j" /> 
     <module name="org.apache.commons.logging"/> 
     <module name="org.log4j"/> 
     <module name="org.jboss.logging"/> 
    </exclusions> 
</sub-deployment> 
</jboss-deployment-structure> 

Ich benutze übrigens JBoss 7.1.1.

Antwort

1

org.jboss.as.server.deployment.DeploymentUnitProcessingException: Sub-Bereitstellung SampleEJB.jar in jboss-Struktur.xml wurde nicht gefunden.

Es scheint SampleEJB.jar ist noch nicht im Einsatz. Erstellen Sie deployment structure file, um Komponenten in Reihenfolge bereitzustellen.

+0

Seltsam. Ich lege es in den Ordner WEB-INF/lib der Webanwendung. Sollte es woanders sein? Oder soll ich es mit dem ganzen Pfad wie "WEB-INF/lib/SampleEJB.jar" tun? – Xanathos

+0

Soll es draußen sein und WAR + JAR als EAR erstellt werden? – kosa

+0

Soweit ich gelesen habe, dient der Deskriptor gleichermaßen für EAR und WAR. Ich stelle eine Web-Anwendung (WAR) bereit, und dies ist die einzige .jar-Datei in der Web-Anwendung, also dachte ich, es wäre in Ordnung. – Xanathos

1

Es scheint wie Eklipse Problem, kann passieren, wenn abhängig Projekt eines Ohres nicht richtig gebaut.

In meinem Fall bekam ich den gleichen Fehler mit Grund, dass Ohr konnte ein enthaltenes Abhängigkeitsglas nicht finden. Überprüfen Sie einfach das abhängige Projekt und überprüfen Sie das Zielverzeichnis, in dem Maven nach dem Erstellen des Projekts jar erstellt. Es wäre leer, wenn Maven das Projekt nicht korrekt erstellt. Erstellen Sie das abhängige Projekt separat von "mvn install" und versuchen Sie dann, Ohr auf Ihrem Server zu implementieren. Es funktionierte für mich.

Verwandte Themen