-
1. classNotFoundException in war inside ear
jaikiran Feb 24, 2011 9:45 PM (in response to franekgc)Please post the entire exception stacktrace. Also please post the contents of your .jar, .war and .ear using the following command:
jar -tf gameweb.war
jar -tf yourjar.jar
jar -tf yourear.ear
-
2. classNotFoundException in war inside ear
franekgc Feb 26, 2011 9:41 AM (in response to jaikiran)The funny thing is that when i remove my application.xml file from earFolder/META-INF everything works perfect. Only with application.xml file error arises.
Here is my application.xml file content:
----------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" id="Application_ID" version="6">
<display-name>gameEAR</display-name>
<module>
<web>
<web-uri>gameWEB.war</web-uri>
<context-root>/gameWEB</context-root>
</web>
</module>
<module>
<ejb>gameEJB.jar</ejb>
</module>
</application>
----------------------------------------
The whole enterprise application is deployed as an exploded application. Here is the structure of catalogs ( (d) means directory):
=game.ear (d)
gameWeb.war (d)
META-INF (d)
WEB-INF (d)
classes (d)
org (d)
ManagerBeanTest.class
Test.class
lib (d)
faces-config.xml
web.xml
META-INF (d)
application.xml
jboss-app.xml
gameEJB.jar
gameEJB.jar is empty by now.
And here is full stack trace of the exception:
------------------------------------------------
15:30:15,463 ERROR [AbstractKernelController] Error installing to PostClassLoader: name=vfs:///E:/Development/jboss-6.0.0.Final/server/default/deploy/game.ear state=ClassLoader mode=Manual requiredState=PostClassLoader: org.jboss.deployers.spi.DeploymentException: Error during deploy: vfs:///E:/Development/jboss-6.0.0.Final/server/default/deploy/game.ear
at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:185) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1832) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1550) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1491) [:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076) [:2.2.0.GA]
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679) [:2.2.0.GA]
at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106) [:6.0.0.Final]
at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:143) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileDeployAction.deploy(ProfileDeployAction.java:151) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileDeployAction.installActionInternal(ProfileDeployAction.java:94) [:0.2.2]
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.GA]
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.GA]
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]
at org.jboss.profileservice.dependency.ProfileActivationWrapper$BasicProfileActivation.start(ProfileActivationWrapper.java:190) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileActivationWrapper.start(ProfileActivationWrapper.java:87) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileActivationService.activateProfile(ProfileActivationService.java:215) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileActivationService.activate(ProfileActivationService.java:159) [:0.2.2]
at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.activate(AbstractProfileServiceBootstrap.java:112) [:0.2.2]
at org.jboss.profileservice.resolver.BasicResolverFactory$ProfileResolverFacade.deploy(BasicResolverFactory.java:87) [:0.2.2]
at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.start(AbstractProfileServiceBootstrap.java:91) [:0.2.2]
at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:132) [:6.0.0.Final]
at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56) [:6.0.0.Final]
at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]
at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]
at java.lang.Thread.run(Unknown Source) [:1.6.0_23]
Caused by: java.lang.Error: Error visiting "/E:/Development/jboss-6.0.0.Final/server/default/deploy/game.ear/gameWeb.war/WEB-INF/classes/org/ManagerBeanTest.class"
at org.jboss.classloading.plugins.vfs.VFSResourceVisitor.visit(VFSResourceVisitor.java:268) [jboss-classloading-vfs.jar:2.2.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:408) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:396) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.classloading.plugins.vfs.VFSResourceVisitor.visit(VFSResourceVisitor.java:102) [jboss-classloading-vfs.jar:2.2.0.GA]
at org.jboss.deployers.vfs.plugins.classloader.VFSDeploymentClassLoaderPolicyModule.visit(VFSDeploymentClassLoaderPolicyModule.java:181) [:2.2.0.GA]
at org.jboss.scanning.plugins.DeploymentUnitScanner.scan(DeploymentUnitScanner.java:111) [:1.0.0.GA]
at org.jboss.scanning.spi.helpers.UrlScanner.scan(UrlScanner.java:96) [:1.0.0.GA]
at org.jboss.scanning.deployers.ScanningDeployer.deploy(ScanningDeployer.java:95) [:1.0.0.GA]
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) [:2.2.0.GA]
... 43 more
Caused by: java.lang.RuntimeException: Error visiting resource: VFSResourceContext @ gameWeb.war/WEB-INF/classes/org/ManagerBeanTest.class / BaseClassLoader@87be88{vfs:///E:/Development/jboss-6.0.0.Final/server/default/deploy/game.ear}, visitor: org.jboss.scanning.hierarchy.plugins.HierarchyTypeVisitor@18e8b5e
at org.jboss.scanning.plugins.visitor.IgnoreSetErrorHandler.handleError(IgnoreSetErrorHandler.java:56) [:1.0.0.GA]
at org.jboss.scanning.plugins.visitor.ReflectResourceVisitor.visit(ReflectResourceVisitor.java:91) [:1.0.0.GA]
at org.jboss.scanning.hierarchy.plugins.HierarchyIndexScanningPlugin.visit(HierarchyIndexScanningPlugin.java:91) [:1.0.0.GA]
at org.jboss.scanning.spi.helpers.ScanningPluginWrapper.visit(ScanningPluginWrapper.java:112) [:1.0.0.GA]
at org.jboss.classloading.plugins.visitor.FederatedResourceVisitor.visit(FederatedResourceVisitor.java:101) [jboss-classloading.jar:2.2.0.GA]
at org.jboss.classloading.plugins.vfs.VFSResourceVisitor.visit(VFSResourceVisitor.java:264) [jboss-classloading-vfs.jar:2.2.0.GA]
... 55 more
Caused by: java.lang.ClassNotFoundException: gameWeb.war.WEB-INF.classes.org.ManagerBeanTest
at java.net.URLClassLoader$1.run(Unknown Source) [:1.6.0_23]
at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_23]
at java.net.URLClassLoader.findClass(Unknown Source) [:1.6.0_23]
at java.lang.ClassLoader.loadClass(Unknown Source) [:1.6.0_23]
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) [:1.6.0_23]
at java.lang.ClassLoader.loadClass(Unknown Source) [:1.6.0_23]
at java.lang.Class.forName0(Native Method) [:1.6.0_23]
at java.lang.Class.forName(Unknown Source) [:1.6.0_23]
at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:284) [jboss-classloader.jar:2.2.0.GA]
at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1152) [jboss-classloader.jar:2.2.0.GA]
at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:886) [jboss-classloader.jar:2.2.0.GA]
at org.jboss.classloader.spi.base.BaseClassLoader.doLoadClass(BaseClassLoader.java:505) [jboss-classloader.jar:2.2.0.GA]
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:450) [jboss-classloader.jar:2.2.0.GA]
at java.lang.ClassLoader.loadClass(Unknown Source) [:1.6.0_23]
at java.lang.Class.forName0(Native Method) [:1.6.0_23]
at java.lang.Class.forName(Unknown Source) [:1.6.0_23]
at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl.resolveComplexTypeInfo(IntrospectionTypeInfoFactoryImpl.java:458) [jboss-reflect.jar:2.2.0.GA]
at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl.getTypeInfo(IntrospectionTypeInfoFactoryImpl.java:414) [jboss-reflect.jar:2.2.0.GA]
at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactory.getTypeInfo(IntrospectionTypeInfoFactory.java:54) [jboss-reflect.jar:2.2.0.GA]
at org.jboss.config.plugins.AbstractConfiguration.getTypeInfo(AbstractConfiguration.java:121) [jboss-reflect.jar:2.2.0.GA]
at org.jboss.kernel.plugins.config.AbstractKernelConfig.getTypeInfo(AbstractKernelConfig.java:95) [jboss-kernel.jar:2.2.0.GA]
at org.jboss.kernel.plugins.config.AbstractKernelConfigurator.getTypeInfo(AbstractKernelConfigurator.java:102) [jboss-kernel.jar:2.2.0.GA]
at org.jboss.scanning.plugins.visitor.ConfiguratorReflectProvider.getTypeInfo(ConfiguratorReflectProvider.java:47) [:1.0.0.GA]
at org.jboss.scanning.plugins.visitor.CachingReflectProvider.getTypeInfo(CachingReflectProvider.java:52) [:1.0.0.GA]
at org.jboss.scanning.plugins.visitor.ReflectResourceVisitor.getTypeInfo(ReflectResourceVisitor.java:60) [:1.0.0.GA]
at org.jboss.scanning.plugins.visitor.ReflectResourceVisitor.getClassInfo(ReflectResourceVisitor.java:72) [:1.0.0.GA]
at org.jboss.scanning.plugins.visitor.ReflectResourceVisitor.doVisit(ReflectResourceVisitor.java:107) [:1.0.0.GA]
at org.jboss.scanning.plugins.visitor.ReflectResourceVisitor.visit(ReflectResourceVisitor.java:86) [:1.0.0.GA]
... 59 more
------------------------------------------------
-
3. classNotFoundException in war inside ear
ebross Feb 26, 2011 5:48 PM (in response to franekgc)Hi Franek Jop
Means ManagerBeanTest.class could not be found by classloaders
Could we see the following:
jboss-web.xml
jboss-app.xml
OR
Try this in your jboss-app.xml:
<jboss-app>
<loader-repository>game:archive=game-ear</loader-repository>
</jboss-app>
where game is the name of your EAR.
Cheers!
-
4. classNotFoundException in war inside ear
franekgc Mar 1, 2011 2:53 PM (in response to ebross)Benjamin Seyinbour wrote:
Hi Franek Jop
Means ManagerBeanTest.class could not be found by classloaders
Yes. I know that. But classloader try to find class "gameWeb.war.WEB-INF.classes.org.ManagerBeanTest" but the class name is "org.ManagerBeanTest". I thing that here is the problem.
Here is my jboss-app.xml
------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-app
PUBLIC "-//JBoss//DTD J2EE Application 4.2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd">
<jboss-app>
<loader-repository>
game.ear:archive=game-ear
</loader-repository>
</jboss-app>
------------------------------------------
I do not have jboss-web.xml
-
5. classNotFoundException in war inside ear
jaikiran Mar 2, 2011 3:07 AM (in response to franekgc)This does look like a bug (and probably has a workaround - I saw a similar issue where we were able to get past this). Can you please attach the application which reproduces this issue?
-
6. classNotFoundException in war inside ear
alesj Mar 2, 2011 7:29 AM (in response to franekgc)But classloader try to find class "gameWeb.war.WEB-INF.classes.org.ManagerBeanTest" but the class name is "org.ManagerBeanTest". I thing that here is the problem.
Here is my jboss-app.xml
------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-app
PUBLIC "-//JBoss//DTD J2EE Application 4.2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd">
<jboss-app>
<loader-repository>
game.ear:archive=game-ear
</loader-repository>
</jboss-app>
------------------------------------------
Hmmm, for some reason ear' scanning thinks .war's classes are part of its classpath.
Why do you think this jboss-app.xml is the problem?
Otoh, I think you don't need this file anymore, sice .ears are isolated by default -- see EARClassLoaderDeployer.
(unless you wanna explicitly specify the isolation domain name)
Like Jaikiran said, it would be useful to have an example where we could reproduce this.
-
7. classNotFoundException in war inside ear
franekgc Mar 2, 2011 2:25 PM (in response to alesj)Ales Justin wrote:
Why do you think this jboss-app.xml is the problem?
I have do idea where is the problem. I've just post jboss-app.xml here because of Benjamin request.
Otoh, I think you don't need this file anymore, sice .ears are isolated by default -- see EARClassLoaderDeployer.
(unless you wanna explicitly specify the isolation domain name)
Like Jaikiran said, it would be useful to have an example where we could reproduce this.
I have removed jboss-app.xml from project.
Here is my project:
http://www.speedyshare.com/files/27172585/application.zip
As i said before: This application will deploy when I remove application.xml from EAR/META-INF folder.
There are two folders in provided archive. First one: "game.ear" contains application ready to deploy. The second one contains sources.
-
8. classNotFoundException in war inside ear
ebross Mar 2, 2011 7:38 PM (in response to franekgc)Hi Franek Jop,
Can't find any ManagerBeanTest in your application.zip.
BTW your 4_2.dtd needs an upgrade as you are using AS6.0
-
9. classNotFoundException in war inside ear
franekgc Mar 3, 2011 6:43 AM (in response to ebross)Benjamin Seyinbour wrote:
Hi Franek Jop,
Can't find any ManagerBeanTest in your application.zip.
Sorry about that. I've made some cleanup in project before upload. But the same error arises with RequestObserver class:
------------------------------------
java.lang.ClassNotFoundException: gameWeb.war.WEB-INF.classes.org.AandP.game.application.RequestObserver
-------------------------------------
BTW your 4_2.dtd needs an upgrade as you are using AS6.0
In xml file? Which one?
-
10. classNotFoundException in war inside ear
jaikiran Mar 3, 2011 7:44 AM (in response to franekgc)Can you first try renaming gameWeb.war to gameWEB.war? That app is failing to deploy on my *nix system because of that case sensitive issue. And after I fix that it deploys fine locally. I however haven't yet been able to reproduce the original issue that you have reported. Maybe it's a side effect of that case insensitive nature of Windows OS (on which you seem to be deploying).
If that doesn't fix this issue, then the other problem I see in your deployment is the ClassPath entry in the META-INF/MANIFEST.MF of the .war file. It points back to the same .war. Remove that ClassPath entry and see if that works.
-
11. classNotFoundException in war inside ear
ebross Mar 3, 2011 8:13 AM (in response to franekgc)In xml file? Which one?
No, simple change the the version number e.g:
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
Or remove it from the jboss-web.xml -- you can do without.
Anyway back to the small matter of your ClassNotFoundException.
Forget the jboss-web.xml; clear the table and just do the following:
gameEAR.ear
|+ META-INF
|+ application.xml
|+ jboss-app.xml
<!DOCTYPE jboss-app PUBLIC "-//JBoss//DTD J2EE Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-app_5_0.dtd">
<jboss-app>
<loader-repository>gameEAR:archive=gameEAR.ear
</loader-repository>
</jboss-app>
BREAKING NEWS!!!
|+ gameWEB.war
|+ WEB-INF
|--|+ web.xml
|+ META-INF
|--|+ MANIFEST.MF
Manifest-Version: 1.0
Class-Path: gameWEB.war
jaikiran pai could be on a solution here.
-
12. Re: classNotFoundException in war inside ear
ywbanm Nov 29, 2011 4:00 AM (in response to franekgc)Hi Franek Jop,
Do you resovled this problem? I think I faced the same problem.