2012-04-14 8 views
2

Ich habe eine Anwendung mit einem EJB (mwf_ejb.jar) und einem WAR (mwf_web.war). Wenn ich sie im gleichen EAR verpacke, ist alles in Ordnung. Gibt es eine Möglichkeit, das EJB zuerst und dann das WAR zu implementieren?JBoss AS 7: Wie wird die unabhängige Bereitstellung von EJB und abhängiger WAR durchgeführt?

Wenn ich es versuche, meine EJB JAR setzt gut, aber wenn ich meine WAR einsetzen, bekomme ich folgende Fehler (in JBoss AS 7.1.1):

MSC00001: Failed to start service jboss.deployment.unit."mwf_web.war".STRUCTURE:   org.jboss.msc.service.StartException in service jboss.deployment.unit."mwf_web.war".STRUCTURE: Failed to process phase STRUCTURE of deployment "mwf_web.war" 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_31] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_31] 
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_31] 
Caused by: java.lang.IllegalArgumentException: Given parent is not an ancestor of this virtual file 
    at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:116) 
    at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) 
    at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) 
    at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) 
    at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) 
    at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) 
    at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) 
    at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:110) 
    at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.createAdditionalModule(ManifestClassPathProcessor.java:193) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.handlingExistingClassPathEntry(ManifestClassPathProcessor.java:185) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.deploy(ManifestClassPathProcessor.java:160) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    ... 5 more 

in META-INF/MANIFEST .MF, ich habe einen "Class-Path" Anweisung zu definieren, die Abhängigkeit in der üblichen Weise hinzugefügt:

Manifest-Version: 1.0 
Dependencies: org.apache.log4j 
Class-Path: mwf_ejb.jar 

Antwort

3

ich finaly verwalten, damit es funktioniert, mit dieser MANIFEST.MF Datei:

Manifest-Version: 1.0 
Dependencies: org.apache.log4j, deployment.mwf_ejb.jar 

Plus-Zugabe, ein Lookup-Attribut in meinen @EJB Anmerkungen (die originaly leer waren: @EJB):

@EJB(lookup="java:global/mwf_ejb/UserManager") 

Aber ich denke, deployment. Präfix ist in Ordnung für JBoss, aber nicht für andere Anwendungs Server.

Verwandte Themen