Mac上的Java JNI使用Eclipse提供UnsatisfiedLinkError

时间:2015-07-14 22:13:33

标签: java eclipse java-native-interface osx-yosemite

我在OSX Yosemite上使用Eclipse Java和Eclipse C / C ++来创建一个简单的Java JNI应用程序。以下是我执行的步骤

  1. 使用本机方法在Java Eclipse上编写了一个类。
  2. 使用此类,使用javah可执行文件创建了一个C头文件,并在Eclipse C / C ++中包含了头文件。在构建C代码时,会创建.so文件。
  3. 然后我通过将变量名称设置为PATH并将值设置为%PATH%/Users/XXXX/Documents/JniWorkspace/JniExampleLibrary/Debug
  4. ,使用eclipse(运行/运行配置/ Java应用程序/环境)添加了.so文件的路径

    以下是加载C库的Java代码:

    public class JniExample {
       static {
            System.loadLibrary("JniExampleLibrary");
        }
    
        public native void callNativeMethod();
        ....
        ....
    
    }
    

    但我仍然收到如下所示的错误:

      

    线程中的异常" main" java.lang.UnsatisfiedLinkError:java.library.path中没有JniExampleLibrary       在java.lang.ClassLoader.loadLibrary(ClassLoader.java:1878)       在java.lang.Runtime.loadLibrary0(Runtime.java:849)       在java.lang.System.loadLibrary(System.java:1087)       at code.example.JniExample。(JniExample.java:5)       在code.example.Main.main(Main.java:8)

0 个答案:

没有答案