jri.dll: 找不到依赖库
jri.dll: Can't find dependent libraries
我正在尝试在使用 rJava/JRI 调用 R 代码的 Windows 计算机上设置一个 Java 项目。我已经在我的计算机上安装了 JDK 1.8
、R 3.5.3
和 rJava
库。我已将以下内容添加到我的 Path
变量中:D:\Program Files\R\R-3.5.3\bin\x64; D:\Program Files\R\R-3.5.3\library\rJava\jri\x64
。我还在 Eclipse 中配置了构建路径,方法是将 jri 文件夹中的三个 JAR 文件添加为外部 JAR,并将本机库更改为 D:/Program Files/R/R-3.5.3/library/rJava/jri/x64
。这些是我最近在另一台 Windows 计算机上完成的相同步骤,之后 R 测试脚本运行完美。但是,在我当前的计算机上,我不断收到以下消息:
Please make sure that the JRI native library is in a directory listed in java.library.path.
java.lang.UnsatisfiedLinkError: D:\Program Files\R\R-3.5.3\library\rJava\jri\x64\jri.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at org.rosuda.JRI.Rengine.<clinit>(Rengine.java:19)
at rtest.main(rtest.java:61)
知道出了什么问题吗?如果有任何帮助,我将不胜感激。
编辑:这是我的构建路径的样子:
EDIT2:此外,我现在已经按照建议 here 将 D:\Program Files\R\R-3.5.3\bin\x64
中的所有 .DLL
文件连同 jri.dll
一起复制到 D:\Program Files\Java\jdk1.8.0_201\bin
。仍然没有运气。
试试这个:
- 右键单击
project > Java Build Path
(在这里您可以查看您的
库和导入库)
- 尝试清理并构建
- 检查你的 JDK
- 如果您的计算机上安装了其他 eclipse,请查看您的文件
eclipse.ini
并检查您的 JDK 是否已正确链接
好的,我明白了。在完成第一个 post 中列出的所有内容后,我还复制了 D:\Program Files\R\R-3.5.3\bin\x64
中的所有 .DLL
文件以及 D:\Program Files\R\R-3.5.3\library\rJava\jri\x64
中的 jri.dll
到 D:\Program Files\Java\jre1.8.0_201\bin
(除了 JDK
文件夹)。现在测试脚本工作了。感谢所有试图提供帮助的人!
Please try this one:
Run As -> Run Configuration -> Set Environment Variables ->New
Name : PATH
Value: C:\Program Files\R\R-3.6.1\bin\x64;C:\Users\[Username]\Documents\R\win-library.6\rJava\jri\x64;
我在看到这个错误报告后解决了这个问题:
https://www.mail-archive.com/openjfx-dev@openjdk.java.net/msg22016.html
“如前所述,在安装了 Visual C++ 2019 可再发行组件的计算机上不会引发上述异常。”
我下载了 2015-2019 的 MS Visual C++ 可再发行组件,并将其安装在两台不同的计算机上,使用 offAdoptJDK、jre_8u_202 和 jre_8u_265 的差异组合,这解决了我的问题。
我从下面的 link 下载了可再发行组件:
https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0
对于Windows 10,我在上面安装了“x64:vc_redist。x64.exe”然后我的程序运行成功了。
我正在尝试在使用 rJava/JRI 调用 R 代码的 Windows 计算机上设置一个 Java 项目。我已经在我的计算机上安装了 JDK 1.8
、R 3.5.3
和 rJava
库。我已将以下内容添加到我的 Path
变量中:D:\Program Files\R\R-3.5.3\bin\x64; D:\Program Files\R\R-3.5.3\library\rJava\jri\x64
。我还在 Eclipse 中配置了构建路径,方法是将 jri 文件夹中的三个 JAR 文件添加为外部 JAR,并将本机库更改为 D:/Program Files/R/R-3.5.3/library/rJava/jri/x64
。这些是我最近在另一台 Windows 计算机上完成的相同步骤,之后 R 测试脚本运行完美。但是,在我当前的计算机上,我不断收到以下消息:
Please make sure that the JRI native library is in a directory listed in java.library.path.
java.lang.UnsatisfiedLinkError: D:\Program Files\R\R-3.5.3\library\rJava\jri\x64\jri.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at org.rosuda.JRI.Rengine.<clinit>(Rengine.java:19)
at rtest.main(rtest.java:61)
知道出了什么问题吗?如果有任何帮助,我将不胜感激。
编辑:这是我的构建路径的样子:
EDIT2:此外,我现在已经按照建议 here 将 D:\Program Files\R\R-3.5.3\bin\x64
中的所有 .DLL
文件连同 jri.dll
一起复制到 D:\Program Files\Java\jdk1.8.0_201\bin
。仍然没有运气。
试试这个:
- 右键单击
project > Java Build Path
(在这里您可以查看您的 库和导入库) - 尝试清理并构建
- 检查你的 JDK
- 如果您的计算机上安装了其他 eclipse,请查看您的文件
eclipse.ini
并检查您的 JDK 是否已正确链接
好的,我明白了。在完成第一个 post 中列出的所有内容后,我还复制了 D:\Program Files\R\R-3.5.3\bin\x64
中的所有 .DLL
文件以及 D:\Program Files\R\R-3.5.3\library\rJava\jri\x64
中的 jri.dll
到 D:\Program Files\Java\jre1.8.0_201\bin
(除了 JDK
文件夹)。现在测试脚本工作了。感谢所有试图提供帮助的人!
Please try this one:
Run As -> Run Configuration -> Set Environment Variables ->New
Name : PATH
Value: C:\Program Files\R\R-3.6.1\bin\x64;C:\Users\[Username]\Documents\R\win-library.6\rJava\jri\x64;
我在看到这个错误报告后解决了这个问题: https://www.mail-archive.com/openjfx-dev@openjdk.java.net/msg22016.html “如前所述,在安装了 Visual C++ 2019 可再发行组件的计算机上不会引发上述异常。”
我下载了 2015-2019 的 MS Visual C++ 可再发行组件,并将其安装在两台不同的计算机上,使用 offAdoptJDK、jre_8u_202 和 jre_8u_265 的差异组合,这解决了我的问题。
我从下面的 link 下载了可再发行组件: https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0
对于Windows 10,我在上面安装了“x64:vc_redist。x64.exe”然后我的程序运行成功了。