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 に答える