Weblogic .ear部署java.lang.ClassNotFoundException

时间:2014-07-14 17:28:27

标签: java weblogic12c

当我在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文件的一部分。仍然为什么会出现这个问题呢?

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:2)

当我在几个项目中定义了实用程序类时,我已经看到了这个问题。 .class在.ear中,但应用程序找不到它。

在我的情况下,问题解决了将缺少的类项目添加到清单文件中。

答案 1 :(得分:0)

被接受的答案不能解决我们的问题。我们通过将包(缺少类的包)添加到weblogic-application.xml

的preferred-application-packages部分中来解决此问题
    <!-- 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>