Не удается найти зависимые библиотеки при попытке загрузить JRI

У меня есть этот простой фрагмент кода, который пытается загрузить модуль 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 в качестве аргументов виртуальной машины, но 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)

Заранее спасибо за вашу помощь.


r jri
person Abhishek Dey Das    schedule 20.01.2015    source источник
comment
Почему бы вам просто не загрузить файлы Jar в свой проект и не добавить необходимый импорт?   -  person Yehoshaphat Schellekens    schedule 04.02.2015


Ответы (1)


Я знаю, что пост относительно старый, и он может не отвечать на вопрос ОП, но определенно поможет другим, которые столкнулись с подобной ситуацией.

Несмотря на то, что вы передаете java.library.path через аргументы, вы должны явно указать расположение файлов DLL через переменную окружения PATH.

Предоставляется краткая ссылка на аналогичный вопрос pro">здесь, но не в контексте R, а совсем другого DLL.

С другой стороны, вы можете запустить эту команду в командной строке, чтобы проверить значение вашей переменной среды PATH...

java -XshowSettings:properties -version

Надеюсь это поможет!

person N00b Pr0grammer    schedule 11.06.2017