[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