无法编译JNI程序rJava

use*_*848 12 java r

我想安装rJava但它不起作用.当我在控制台中键入R CMD javareconf时,出现以下错误:

trying to compile and link a JNI progam
detected JNI cpp flags    :
detected JNI linker flags :
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -O3 -pipe  -g 
-c conftest.c -o conftest.o
conftest.c:1:17: error: jni.h: No such file or directory
conftest.c: In function 'main':
conftest.c:4: warning: implicit declaration of function 'JNI_CreateJavaVM'
make: *** [conftest.o] Error 1
Unable to compile a JNI program


Java library path:
JNI cpp flags    :
JNI linker flags :
Updating Java configuration in /usr/lib64/R
Done.
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决它?

Loš*_*oša 5

jni.h文件是JDK安装的一部分.您可能没有正确安装Java JDK.从此处下载Oracle Java ,或使用您的包管理器.

如果已安装Java JDK,请将JAVA_HOME环境变量设置为指向JDK目录.

  • Debian有没有你可以使用的rJava包?试试`apt-get install r-cran-rjava`. (2认同)

Dr.*_*ike 5

我知道这是封闭的,但是为了完整性我要添加我的解决方案。实际上,我遇到了同样的问题,并且都已正确安装。我也跑过

sudo R CMD javareconf
Run Code Online (Sandbox Code Playgroud)

用于系统范围的设置。我需要的是它可以为我的用户使用。在这种情况下,您应该运行

R CMD javareconf -e
Run Code Online (Sandbox Code Playgroud)

不带sudo并附加-e。

为我工作。:)