[Jboss51] Classpath/loader issues with in-place deployment?
johnson_shawn Mar 5, 2012 5:29 PMI am trying to follow this article (https://community.jboss.org/wiki/HowtodeploymyapplicationinanexternaldirectoryinJBoss-5) to point JBoss to my eclipse project which includes a war folder, complete with a WEB-INF/lib. I have a few 3rd party JAR files that include a MANIFEST.MF with a Class-Path entry referring to other JARs. The problem is when running this way, it doesn't seem to understand where to find JARs (hoping a simple XML switch somewhere). The application deploys/runs fine as a WAR, but running as a 'project' under eclipse I get a handful of errors like this:
16:05:14,826 ERROR [ProfileDeployAction] Failed to add deployment: jaxb-impl.jar
org.jboss.deployers.spi.DeploymentException: Unable to find class path entry ClassPathEntryImpl{path=WEB-INF/lib/jaxb-api.jar} from jaxb-impl.jar
at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
at org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder.applyContextInfo(VFSStructureBuilder.java:188)
at org.jboss.deployers.structure.spi.helpers.AbstractStructureBuilder.populateContext(AbstractStructureBuilder.java:82)
at org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:89)
at org.jboss.deployers.plugins.main.MainDeployerImpl.determineStructure(MainDeployerImpl.java:1004)
at org.jboss.deployers.plugins.main.MainDeployerImpl.determineDeploymentContext(MainDeployerImpl.java:440)
at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:390)
at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:300)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.addDeployment(MainDeployerAdapter.java:86)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:61)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
at org.jboss.Main.boot(Main.java:221)
at org.jboss.Main$1.run(Main.java:556)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.io.IOException: Child not found WEB-INF/lib/jaxb-api.jar for JarHandler@2104407126[path=WEB-INF/lib/jaxb-impl.jar context=file:/workspace/MYAPP/war/ real=file:/workspace/MYAPP/war/WEB-INF/lib/jaxb-impl.jar], available children: [JarEntryHandler@1862384239[path=WEB-INF/lib/jaxb-impl.jar/META-INF context=file:/workspace/MYAPP/war/ real=jar:file:/workspace/MYAPP/war/WEB-INF/lib/jaxb-impl.jar!/META-INF/], JarEntryHandler@1517749848[path=WEB-INF/lib/jaxb-impl.jar/com context=file:/workspace/MYAPP/war/ real=jar:file:/workspace/MYAPP/war/WEB-INF/lib/jaxb-impl.jar!/com/]]
at org.jboss.virtual.VirtualFile.findChild(VirtualFile.java:461)
at org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder.applyContextInfo(VFSStructureBuilder.java:184)
... 23 more
Here is the MANIFEST.MF for the jaxb-impl.jar.
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.5 Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.) Specification-Title: Java Architecture for XML Binding Specification-Version: 2.1 Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: JAXB Reference Implementation Implementation-Version: 2.1.4 Implementation-Vendor: Sun Microsystems, Inc. Implementation-Vendor-Id: com.sun Extension-Name: com.sun.xml.bind Build-Id: hudson-jaxb-ri-2.1-463 Class-Path: jaxb-api.jar activation.jar jsr173_1.0_api.jar jaxb1-impl. jar Name: com.sun.xml.bind.v2.runtime Implementation-Version: hudson-jaxb-ri-2.1-463