JNI本机:java.lang.UnsisfiedLinkError:java.library.path中没有Hello

JNI native : java.lang.UnsatisfiedLinkError: no HelloWorld in java.library.path

本文关键字:java path Hello UnsisfiedLinkError 本机 lang JNI library      更新时间:2023-10-16

我按照教程构建我的第一个JNI程序。我的程序很简单。。

package JNI;
public class HelloWorld {
    private native void print();
    public static void main(String[] args) {
        new HelloWorld().print();
    }
    static {
        System.loadLibrary("HelloWorld");
    }
}

我还构建了c++原生库(.so文件),并将其放在同一目录中

并使用

java -Djava.library.path=. JNI.HelloWorld

(本地库和helloworld.class位于同一位置)

看起来一切都很正常。但错误从未放弃纠缠我。

你能帮我吗?

您需要检查

  • 你的图书馆叫libHelloWorld.so
  • 它可由您执行
  • 它与JVM的32/64位相同