JNI对ubuntu的链接错误不满意

Rad*_*dek 4 java java-native-interface

我在Ubuntu下使用Java和Netbeans.我正在与JNI合作,并希望在Linux中加载dll,它具有".so"扩展名.为什么这段代码有效:

static {
    System.load("/home/user/NetBeansProjects/JD2XX-DLL2/dist/jd2xx.so");
}
Run Code Online (Sandbox Code Playgroud)

但这不是:

static {
    System.loadLibrary("jd2xx");
}
Run Code Online (Sandbox Code Playgroud)

使用netbeans中指定的VM选项:

-Djava.library.path="/home/user/NetBeansProjects/JD2XX-DLL2/dist/"
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: 
  no jd2xx.so in java.library.path
Run Code Online (Sandbox Code Playgroud)

这适用于Windows下的我.

Qua*_*nic 8

在Unix系统上,

System.loadLibrary("Foo");
Run Code Online (Sandbox Code Playgroud)

查找libFoo.so库搜索路径中调用的文件.

相应地重命名文件.

相反,在Windows系统上,该调用将查找Foo.dll库搜索路径中调用的文件.