【发布时间】:2016-10-31 18:12:46
【问题描述】:
我正在尝试将 Clojure 中的 R 与 rJava 一起使用,如 here 所示。我有以下内容:
(ns prototype.core
(:gen-class)
(:require [prototype.dataGraph :as dg])
(:import [org.rosuda.JRI Rengine]))
(defn -main
"Program main entry point."
[& args]
(new Rengine (into-array String ["--no-save"]) false nil)
(println "Hello."))
然后,我得到了堆栈跟踪
找不到 JRI 原生库!请确保 JRI 本机 库位于 java.library.path 中列出的目录中。
java.lang.UnsatisfiedLinkError: java.library.path 中没有 jri
看来我没有正确指定库位置...
Java 构造函数是这样的:
Rengine engine = new Rengine(new String[] { "--no-save" }, false, null);
我的 project.clj 文件:
(defproject prototype "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.8.0"]]
:plugins [[lein-expand-resource-paths "0.0.1"]]
:resource-paths ["/usr/lib/R/site-library/rJava/jri/JRI.jar" "/usr/lib/R/site-library/rJava/jri/JRIEngine.jar" "/usr/lib/R/site-library/rJava/jri/REngine.jar"]
:main ^:skip-aot prototype.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
rJava 能否与 Clojure 一起成功使用?
【问题讨论】:
-
rJava 用于从 R 调用 Java,而不是相反。
-
@Hong Ooi 好吧,如果我理解这家伙的所作所为,这似乎是可行的......codophile.com/how-to-integrate-r-with-java-using-rjava
标签: r clojure rjava clojure-java-interop