02:35:43,076 WARN [org.jboss.modules] (default task-8) Failed to define class com.karthik.db.jpub.mapping.ObjUser in Module "deployment.CVRepo.war:main" from Service M
odule Loader: java.lang.NoClassDefFoundError: Failed to link com/karthik/db/jpub/mapping/ObjUser (Module "deployment.CVRepo.war:main" from Service Module Loader): oracle/sql/ORAData
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:446)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:274)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:78)
at org.jboss.modules.Module.loadModuleClass(Module.java:605)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)在这里,ObjUser类属于Data.jar。Data.jar存在于CVRepo.war的WEB/lib文件夹中
1)即使包含类- data.jar的jar - ObjUser.class封装在CVRepo.war中,导致此错误的原因仍然是什么。
2)是否应该从WAR的WEB/lib文件夹中删除外部jars(data.jar),并将其添加为模块,并在JBOSS 7?中的WAR的JBos-Deployment.xml中引用
发布于 2017-02-09 12:44:07
引发NoClassDefFoundError通常是因为类不在类路径中,这可能是由于应用程序的打包或指定的类加载器隔离设置造成的。查看Tattletale :类位置,定位打包的位置,并与为特定部署类型定义的隔离设置& Java类路径进行比较。
注意:如果应用程序中不存在类,而且java源文件没有列出类,则使用javap或其他反编译器对类进行反编译,并查看类定义是否与源匹配。有些IDE可以在类路径缺少类时生成无效类,它们可以生成一个类引用无效的类,如果这些类被部署,将导致不寻常的ClassNotFoundExceptions,比如没有包的类名。
当JVM试图加载类的定义而找不到定义时,就会引发NoClassDefFoundError。NoClassDefFoundError通常是由ClassNotFoundException或ExceptionInInitializerError引起的。在初始的ClassNotFoundException / ExceptionInInitializerError之后,JVM只会抛出一个NoClassDefFoundError,而不会显示最初的原因。
检查完整的server.log并找到第一个类加载异常
参考链接基本类加载材料:https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7
https://stackoverflow.com/questions/42110325
复制相似问题