Javassist java.lang.NoClassDefFoundError

Javassist java.lang.NoClassDefFoundError

我想检测一个库方法来调用我在 javassist 代理中的 Class 之一。

假设我有一个 class:

Class A {

    void display() {
        System.out.println("Inside A.dipslay()");
    }
}

然后当我调用时:

method.insertAfter("packageName.A.display()");

它抛出异常:

Exception in thread "main" java.lang.NoClassDefFoundError: packageName/A
    at java.net.HttpURLConnection.setRequestMethod(libraryClass)
    at sun.net.www.protocol.http.HttpURLConnection.setRequestMethod(libraryClass)
    at com.avekshaa.app.SecurityFilter.sendGet(Class where i call the Library Class)
    at com.avekshaa.app.SecurityFilter.main(Class where i call the Library Class)

当我只用名字称呼它时:

method.insertAfter("A.display()");

然后它给出一个没有这样的 class 发现异常。

我通过在 javassist 清单文件中添加 jars 路径解决了这个问题。 参考 -