我有这段简单的代码尝试加载JRI模块。
public static void main(String... args) {
System.out.println(System.getProperty("java.library.path").toString());
System.setProperty("jri.ignore.ule", "yes");
System.loadLibrary("jri");
}
我将java.library.path作为VM参数传递,但JRI无法加载,并出现以下错误:
C:\Users\Abhishek\Documents\R\win-library\3.1\rJava\jri;C:\Users\Abhishek\Documents\R\win-library\3.1\rJava
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Abhishek\Documents\R\win-library\3.1\rJava\jri\jri.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1847)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1119)
at pack.TestJRI.main(TestJRI.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
提前感谢您的帮助。
答案 0 :(得分:1)
我知道帖子相对较旧,这可能无法回答OP的问题,但肯定会帮助遇到类似情况的其他人。
尽管您通过参数传递了java.library.path
,但您应该通过DLL
环境变量明确设置PATH
文件的位置。
here提供了类似问题的快速参考,但不是R
的上下文,而是完全不同的DLL
。
另一方面,您可以在命令提示符下运行此命令以检查环境变量PATH
的值...
java -XshowSettings:properties -version
希望这有帮助!