0

部署到 WebLogic 的 Web 应用程序调用 SomeProxy.class 中的本机方法。这个 SomeProxy.class 被部署为共享库。它有一个静态块来加载本机库。

public class SomeProxy {
    static { 
        System.load("/path/to/jnilib"); 
        setup();
    }
    public static native void setup();
    public native int solve();
}

Web 应用程序中的客户端类具有以下代码来调用 SomeProxy.class。

public class SomeClient {

    void use() {
        SomeProxy proxy = new SomeProxy();
        int result = proxy.solve();
    }
}    

Web 应用程序的第一次部署成功运行。然后该 Web 应用程序被停止、删除并重新安装。本机方法的调用失败,并给出以下错误消息。

java.lang.UnsatisfiedLinkError: package/name/SomeProxy.setup()V
at package.name.SomeProxy.<clinit>(SomeProxy.java:19)
at package.name.SomeClient.use(SomeClient.java:112)
4

0 回答 0