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-INF / lib文件夹中
1)导致此错误的原因即使包含类的jar - data.jar - ObjUser.class打包在CVRepo.war中。
2)是否应从外部jar(data.jar)中删除WAR的WEB-INF / lib文件夹作为模块添加并在JBOSS 7的WAR的jboss-deployment.xml中引用?
答案 0 :(得分:0)
通常会抛出NoClassDefFoundError,因为类不在类路径中,这可能是因为应用程序的打包或指定的类加载器隔离设置。查看Tattletale报告:类位置,找到它的打包位置,并与隔离设置进行比较。为特定部署类型定义的Java EE类路径。
注意:如果应用程序中不存在该类,并且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