2015-01-20 7 views
7

Ich habe dieses einfache Stück Code, das versucht, das JRI-Modul zu laden.Ich kann keine abhängigen Bibliotheken finden, wenn ich JRI laden möchte

public static void main(String... args) { 
    System.out.println(System.getProperty("java.library.path").toString()); 
    System.setProperty("jri.ignore.ule", "yes"); 
    System.loadLibrary("jri"); 
} 

Ich bin das Bestehen der java.library.path als VM Argumente aber JRI schlägt mit dem folgenden Fehler laden:

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) 

Vielen Dank im Voraus für Ihre Hilfe.

+0

Warum laden Sie einfach die Jar-Dateien in Ihr Projekt und fügen Sie die erforderlichen Importe hinzu? –

Antwort

2

Ich weiß, dass die Post relativ alt ist und dies könnte die Frage des OP nicht beantworten, aber wird definitiv anderen helfen, die in eine ähnliche Situation wie diese geraten.

Trotz der Tatsache, dass Sie die java.library.path über Argumente übergeben, sollten Sie den Speicherort der DLL Dateien über die Umgebungsvariable PATH explizit festlegen.

Ein kurzer Verweis auf eine ähnliche Frage wird here, aber nicht im Zusammenhang von R, aber eine andere DLL insgesamt zur Verfügung gestellt.

Auf der anderen Seite, Sie könnten entweder den Befehl in einer Eingabeaufforderung den Wert Ihrer Umgebungsvariable PATH ...

java -XshowSettings:properties -version 

hoffe, das hilft zu überprüfen!