我在Windows7上使用32位R3.0.2和NetBeans jdk1.7.0_45为Java7.4设置了一个JRI项目,使用了概述的here步骤。
当我打电话的时候
Rengine.versionCheck()我得到了以下信息
找不到JRI本机库!请确保JRI本机库位于java.library.path中列出的目录中。
java.lang.UnsatisfiedLinkError: C:\Program Files\R\R-3.0.2\library\rJava\jri\jri.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at org.rosuda.JRI.Rengine.<clinit>(Rengine.java:19)
at rjava.RJava.main(RJava.java:40)
Java Result: 1按照here的建议,我从
C:\Program Files\R\R-3.0.2\bin\i386添加到包含java.exe的目录中。我还在项目上右击并选择了
Properties:Run:VM Options并添加了
-Djava.library.path="C:\Program Files\R\R-3.0.2\library\rJava\jri;C:\Program Files\R\R-3.0.2\library\rJava\jri\i386"问题仍然存在。我尝试将以下内容添加到我的代码中。
System.loadLibrary("jri");这导致了
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\R\R-3.0.2\library\rJava\jri\jri.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at rjava.RJava.main(RJava.java:39)
Java Result: 1我已经做了here建议的所有事情,但问题仍然存在。
发布于 2014-04-03 22:08:39
我不得不重启NetBeans。这样就解决了问题。
事实上,我发现这部分是不必要的。
Properties:Run:VM Options
-Djava.library.path="C:\Program Files\R\R-3.0.2\library\rJava\jri;C:\Program Files\R\R-3.0.2\library\rJava\jri\i386"https://stackoverflow.com/questions/22823323
复制相似问题