问题标签 [java.library.path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
718 浏览

java - Java编程,opencv unsatisfied link错误

OpenCV 库在捕获视频流时会出现不满意的链接错误。

opencv 3.2.0图书馆应该在哪里?opencv 类包的正确路径是什么?

生成此错误的代码:

例外是:

0 投票
1 回答
135 浏览

jvm - 为什么我们使用 java.library.path 来设置包含 java jar 文件而不是原生库的路径?

据我了解, java.library.path 为 JVM 设置了 .so 或 .dll 本机库。如果我们想告诉 JVM 我们的 java 文件 jar 路径,我们可以使用 -classpath。

我碰巧看到一个使用 java.library.path 的服务,并且该路径包含许多 java jar,例如 -Djava.library.path=:/env/service/lib。并且 /env/service/lib 包含服务依赖 java jar 文件。所以我的问题是:如果我们将 java.library.path 设置为包含依赖 java jar 文件的文件夹,JVM 类加载器会识别它们吗?

0 投票
0 回答
658 浏览

java - 线程“主”java.lang.UnsatisfiedLinkError 中的异常:java.library.path 中没有 IBScanUltimate

该项目正在另一台机器上运行,但是当我尝试将其从这个错误中拉出来时

0 投票
0 回答
50 浏览

hadoop - 当mapreduce.framework.name设置为local时,如何通过yarn提交mapreduce作业时添加链接第三方库?

我有一个 jar 文件 yyy.jar,它是一个第三方 jar,我想让它用于我提交的作业链中的一个 mapreduce 任务的映射器。当 mapreduce.framework.name 设置为 yarn 但我使用 mapreduce.framework.name=local 时,我可以正常运行 map reduce 作业,但出现异常,原因是:java.lang.UnsatisfiedLinkError: no java.library.path 中的 xxx

xxx 类实际上在 yyy.jar 中。

我正在使用 CDH 5.13

0 投票
0 回答
1133 浏览

java - 加载本机库运行时时出错 - JAVA

我收到此错误 + >

我已经搜索了一天,找不到任何可行的解决方案。

我正在使用 lwjgl,它的本机库在路径中

"F:\Khushit Java\Meteor Breaker\lib\windows"

在 windows 文件夹中存在 lwjgl.dll。

我接受了一个 VM 选项:- 这是写

这适用于在 ide 上运行它。 但是当我运行罐子时它不起作用。

所以,我想出了一个解决方案:- 加载库运行时:-

System.setProperty("java.library.path",<path>);

真正的问题来了

如果我使用 vm(First method) 选项打印System.getProperty("java.library.path"),我会得到路径:

F:\Khushit Java\Meteor Breaker\lib\windows

如果我使用运行时链接(第二种方法)打印System.getProperty("java.library.path"),我也会得到相同的路径:

F:\Khushit Java\Meteor Breaker\lib\windows

这只是意味着 java.library.path 没问题,那么我也遇到了错误。

0 投票
0 回答
346 浏览

scala - sbt 测试 - NoClassDefFoundError

我有一个用 sbt 构建的 scala 应用程序。它引入了一个本地库。本机库是通过...加载的

该应用程序在 Ubuntu 14 和 16 上都运行得非常好。我可以执行 sbt test 并且运行没有问题,而且一切都完美连接。

我正在测试在 Ubuntu 18 上构建并遇到问题。它们似乎与加载/链接本机库特别相关。如果我使用“sbt run”,该应用程序运行良好。但是,如果我尝试“sbt test”,它会失败并出现以下错误......

其中“MyClass”是链接本机库的类。该应用程序也可以很好地编译(sbt compile),并且我在 build.sbt 中包含了“fork := true”。

所以我知道它在某些情况下“有效”。似乎有一些关于“sbt test”的特定内容,它在哪里中断。

谢谢!

0 投票
1 回答
1899 浏览

deeplearning4j - java.lang.UnsatisfiedLinkError:java.library.path 中没有 jnind4jcpu

我开始使用 deeplearning4j 的 1.0.0-beta2 版本,尝试启动时出现以下错误:

java.lang.UnsatisfiedLinkError:java.library.path 中没有 jnind4jcpu

环顾四周,我遇到了这个问题:https ://github.com/deeplearning4j/nd4j/issues/1687

解决方案似乎是一组不完整的软件包。我已经确认我有 nd4j-native-platform-1.0.0-beta2.jar,但是这个 jar 文件不包含库,因为这似乎是上述问题中的问题。

我查看了 maven 存储库,那里的情况也很奇怪:

对于https://mvnrepository.com/artifact/org.nd4j/nd4j-native-platform,“查看全部”下的文件列表对于 1.0.0-beta2 版本似乎不完整,并且旧版本下的现有 jar 文件也没有'似乎不包含任何二进制文件,所以我不确定二进制文件应该在哪里。

谢谢,

杰森

0 投票
1 回答
134 浏览

java - 找不到使用 JNA 调用的 DLL 所需的文件

我有一个由 Java 应用程序通过 JNA 调用的 dll(我们将其命名为 Sample.dll)。所述dll在名为“Data”的文件夹中找到一个文件。我认为上述 dll 已成功加载,因为没有返回错误消息。下面是加载dll的代码:

执行该代码后,将调用本机方法来打开会话。此方法接受文件夹的路径作为参数。

JNA 似乎无法找到该文件,因为返回的错误表明该文件不存在。我尝试设置并打印“user.dir”和“java.library.path”以查看传递的路径是否正确。

这些返回 jar、dll 和 Data 文件夹所在的工作目录。

文件结构:

0 投票
2 回答
1447 浏览

linux - 通过 JNI 从其他共享库加载依赖的 .so

我想从其他 libb.so 调用 liba.so 的某些函数。libb.so 是动态库,它实现了我在 JNI 中使用 System.loadLibrary("b") 加载的本机方法。首先,我使用 java.library.path 为 jni 中的两个 .so 设置了完整路径,但是当我运行我的 java 程序时,在加载共享库 libb.so 时,它给出了以下错误:

  1. 首先,我在编译期间将共享库 liba.so 与其他共享库 libb.so 链接在一起

    g++ -shared -o libb.so -fPIC b.cc -L/x/y/z -la

    (比如说 liba.so 的完整路径是 /x/y/z)

  2. 在 JNI 中,我实用地设置了 java.library.path,其中包含 liba.so、libb.so 的完整路径,然后我曾经将 JNI 本机库 libb.so 加载为

(假设 libb.so 的完整路径是 a/b/c,而 liba.so 的完整路径是 x/y/z。)

// 在这里我可以打印/获取正确的 java.library.path。(两个共享库的路径都正确保存到 java.library.path 中)

当我的java程序加载这个静态块的动态库时,它给出了以下错误:

线程“主”java.lang.UnsatisfiedLinkError 中的异常:x/y/z/liba.so:libb.so:无法打开共享对象文件:没有这样的文件或目录。

注意:当我在 LD_LIBRARY_PATH 中设置 liba.so 的路径时,它可以正常工作,没有任何错误。但我不想在 SHELL 中设置 LD_LIBRARY_PATH。只是我想在程序本身中设置 java.library.path 或 LD_LIBRARY_PATH 。

提前致谢!

0 投票
0 回答
488 浏览

java - Java找不到本机库路径

我知道这是一个很常见的问题,但我认为我尝试了所有解决方案都没有成功。

我得到的错误:

我已将路径附加到 Eclipse 上 PATH 变量上的 App_JavaAPI.dll 的目录。我尝试将路径添加到文件本身,甚至在操作系统级别定义的 PATH 环境变量中添加两者。

此外,我试图把这条线:

也没有成功。在这种情况下,如果我将路径放入 dll 本身,错误仍然存​​在。否则,如果我只放目录的路径,我会收到错误:

你还有什么建议吗?

谢谢大家, 安德里亚