Ich versuche, eine runnable JAR-Datei von R, mit dem rJava-Paket ausführen. Dieses Glas hat zu schreiben und einige Dateien zu/von externen Ordnern zu lesen, die sich, wie dies in dem gleichen Weg wie die JAR-Datei sind:rJava NoSuchFileException beim Ausführen von jar aus R
mypath/myjar.jar
mypath/folder1
mypath/folder2
mypath/input_file1.txt
mypath/input_file2.txt
Das Programm funktioniert gut, wenn ich es nenne durch eine Konsole in der Öffnung „mypath“ und ausführen des Glas die folgende Art und Weise:
java -jar myjar.jar input_file1.txt input_file2.txt false
Aber wenn ich versuche, diesen Code in R zu laufen, mit rjava, stürzt der Code an einem gewissen Punkt, weil es weder mypath nicht finden können/folder1 noch Mypath/Ordner2, obwohl das Arbeitsverzeichnis korrekt als "Mypath" definiert ist.
jinit(".",force.init=TRUE) # this starts the JVM
.jaddClassPath("myjar.jar")
jobject <- .jnew("package_name/Main") ## call the constructor
result_java <- rJava::.jcall(obj = jobject, returnSig = "V", method = "main", c("input_file1.txt","input_file2.txt","false"))
In der Tat ist das Java-Programm genannt, es ist in der Lage, die Eingabedateien tatsächlich zu finden, die auch in mypath sind, aber aus irgendeinem Grunde stürzt ab, wenn es versucht, auf Ordner in mypath (wie folder1 und zu schreiben folder2) mit dem Fehler:
Ich habe wirklich keine Ahnung, was vor sich geht, verbrachte Stunden darauf. Fehle ich etwas wirklich offensichtlich hier?