0

我被这个例外困住了,我似乎无法解决。如何摆脱这个?这里是。

java.lang.NoClassDefFoundError: myBlog/DAOImpls/DAOImplMan

at myBlog.Handlers.HandlerMan.saveComment(HandlerMan.java:34)
at myBlog.Services.ServiceMan.saveComments(ServiceMan.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)

在 HandlerMan 类中,我有这个方法,它调用 DAOImplMan 类的实例

public Comment saveComment(Comment comment){
     DAOImplMan.getInstance().saveComment(comment);
     return comment;
}

而DAOImplMan 类就是这样的。

package myBlog.DAOImpls;
public class DAOImplMan extends BaseDAOHibernateImpl implements DAOMan{
    private static DAOImplMan INSTANCE = null;

    public static DAOImplMan getInstance(){
        if(INSTANCE == null){
            INSTANCE = new DAOImplMan();
        }
        return INSTANCE;
    }

    @Override
    public void saveComment(Comment comment){//some codes}

我看过其他处理这种异常的帖子。我的类路径设置正确。我的其他项目中实际上并没有这种例外。而且我自己也无法进一步挖掘。

4

2 回答 2

1

例如,如果您正在使用 Eclipse,则可能是您在 Eclipse 中的类路径是正确的,因此您可以毫无问题地进行编译。java.lang.NoClassDefFoundError表示该类在编译时存在,但在运行时不存在,因此请查看您的运行时类路径。

于 2012-08-01T06:59:52.613 回答
1

删除所有项目 .class 文件并再次重新部署。检查这是您项目中类文件的位置。

在此处输入图像描述

于 2012-08-01T07:15:35.970 回答