【问题标题】:How could set the java.library.path in Linux from I am trying JNI我正在尝试 JNI 如何在 Linux 中设置 java.library.path
【发布时间】:2023-03-11 05:37:01
【问题描述】:

我按照这个JNI ref从java调用c函数。

在最后一步中,我在输入 java hellojni 后收到以下错误消息:

线程“main”中的异常 java.lang.UnsatisfiedLinkError: no helloJni in

java.library.path

在 java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)

在 java.lang.Runtime.loadLibrary0(Runtime.java:870)

在 java.lang.System.loadLibrary(System.java:1122)

在 HelloJni.(HelloJni.java:13)

我尝试设置 java.library.path,所以我输入 java -Djava.library.path=。 HelloJni

但这对我不起作用,我仍然收到相同的错误消息。

另外,我尝试export LD_LIBRARY_PATH = $LD_LIBRARY_PATH:/sybase/IQ-16_0/jim_samples/udf/hellojni,但还是不行。

【问题讨论】:

  • 您是否在 Helloxxxx.java 中加载了库静态 { System.loadLibrary("Helloxxxx"); }

标签: java c linux path java-native-interface


【解决方案1】:

这似乎是路径问题,在“sybase/IQ-16_0/jim_samples/udf/hellojni”目录中找不到您的 libhellojni.so

记住 'lib' 前缀在你的 xxx.so 文件中很重要(如果你在 Linux 中运行它),只有 hellojni.so 不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 2010-10-31
    • 2014-02-16
    • 2021-02-16
    • 1970-01-01
    相关资源
    最近更新 更多