当我在weblogic 12x上部署.ear文件时,它会发出以下错误。
java.lang.ClassNotFoundException:com.abc.util.CustomUtility 在weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:335) 在weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:302) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) 在weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:180)
一旦部署.ear文件,就会出现上述错误。它抱怨classnotfoundexception,它是项目中用户定义的类。
我看到所有.classes都是.ear文件的一部分。仍然为什么会出现这个问题呢?
请帮我解决这个问题。
答案 0 :(得分:2)
当我在几个项目中定义了实用程序类时,我已经看到了这个问题。 .class在.ear中,但应用程序找不到它。
在我的情况下,问题解决了将缺少的类项目添加到清单文件中。
答案 1 :(得分:0)
被接受的答案不能解决我们的问题。我们通过将包(缺少类的包)添加到weblogic-application.xml
<!-- to load classes of the packages from application context first and not from server context. -->
<prefer-application-packages>
<package-name>antlr.*</package-name>
<package-name>org.apache.*</package-name>
<package-name>org.hibernate.*</package-name>
<package-name>org.springframework.*</package-name>
<package-name>org.aopalliance.*</package-name>
<package-name>org.objectweb.*</package-name>
<package-name>net.sf.cglib.*</package-name>
...
</prefer-application-packages>
</weblogic-application>