Java 使用 JRI調用R語言

Java 使用 JRI調用R語言

今天幫同窗調一個數據分析可視化的項目,其中使用到了java 調用 R語言進行數據分析。在項目啓動的時候老是報錯java

// java.lang.UnsfiedLinkError: no jri in java.library.path

這是一個比較老的SSH的web項目。最後經過從網上查找,測試最終解決了這個問題。解決步驟以下。web

環境:bash

  • 環境 macOS
  • java version JDK 1.8
  • R version R 3.4
  • 編譯器IntelliJ

安裝R語言環境,而後下載以下幾個jar包:JRI JRIEngine REngine 添加依賴。svg

第二部設置項目運行時環境:添加 -Djava.library.path測試

這裏寫圖片描述

這個參數的完整路徑爲:-Djava.library.path=/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/jrispa

這個參數的是剛剛下載的那三個依賴包的路徑在 /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/jri文件下有JRI JRIEngine REngine這三個的jar包。命令行

配置完成後發現仍是報錯:說找不到R_HOME路徑。發現沒有配置R的環境。而後打開.bash_profile文件配置R的環境變量。以下所示:code

這裏寫圖片描述

這個中間出現了一個問題。就是配置完成後我使用 source .bash_profile命令是配置的環境變量生效。在命令行中使用xml

echo $R_HOME能夠打印出來的,可是在程序中獲取這個變量就是爲空。最摳重啓了mac終於找到了這個變量。問題也解決了。blog