R mailr包未加载Java
我在一台Ubuntu20.04机器上工作,试图运行一个R脚本,该脚本发送带有R mailr包未加载Java,java,r,rjava,ubuntu-20.04,Java,R,Rjava,Ubuntu 20.04,我在一台Ubuntu20.04机器上工作,试图运行一个R脚本,该脚本发送带有mailR包的pdf文件。我已经安装了Oracle Java并运行了“sudo R CMD javareconf”。这是输出 meteo@BOIRA:~/PROJECTES/SANITAT/TREBALL$ sudo R CMD javareconf *** JAVA_HOME is not a valid path, ignoring Java interpreter : /usr/bin/java Java ve
mail
R包的pdf文件。我已经安装了Oracle Java并运行了“sudo R CMD javareconf
”。这是输出
meteo@BOIRA:~/PROJECTES/SANITAT/TREBALL$ sudo R CMD javareconf
*** JAVA_HOME is not a valid path, ignoring
Java interpreter : /usr/bin/java
Java version : 14.0.1
Java home path : /usr/lib/jvm/java-14-oracle
Java compiler : /usr/bin/javac
Java headers gen.:
Java archive tool: /usr/bin/jar
trying to compile and link a JNI program
detected JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I/usr/lib/jvm/java-14-oracle/include -I/usr/lib/jvm/java-14-oracle/include/linux -fpic -g -O2 -fdebug-prefix-map=/build/r-base-V28x5H/r-base-3.6.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c conftest.c -o conftest.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/java-14-oracle/lib/server -ljvm -L/usr/lib/R/lib -lR
JAVA_HOME : /usr/lib/jvm/java-14-oracle
Java library path: $(JAVA_HOME)/lib/server
JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
Updating Java configuration in /usr/lib/R
Done.
然后我安装了rJava
,显然成功了。但是当我尝试加载mailr
包时,我得到了以下错误:
library(rJava)
Error: package or namespace load failed for ‘rJava’:
.onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/home/meteo/R/x86_64-pc-linux-gnu-library/3.6/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
但是rJava.so
存在于/home/meteo/R/x86_64-pc-linux-gnu-library/3.6/rJava/libs/
如果我echo$JAVA\u HOME
它是空的。我认为R并没有正确地找到java,但如果安装了java,则无法找出如何将R指向实际的java安装
meteo@BOIRA:~/PROJECTES/SANITAT/TREBALL$ java -version
java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
任何帮助都将不胜感激,提前感谢。终于在谷歌上找到了答案,希望它能在将来帮助别人 我需要将
javax.activation-api-1.2.0.jar
和javax.activation-1.2.0.jar
复制到我服务器的mailR java目录/home/meteo/R/x86_64-pc-linux-gnu-library/3.6/mailR/java
现在它工作得很好。终于在谷歌上找到了答案,希望它能在将来帮助别人 我需要将
javax.activation-api-1.2.0.jar
和javax.activation-1.2.0.jar
复制到我服务器的mailR java目录/home/meteo/R/x86_64-pc-linux-gnu-library/3.6/mailR/java
现在它工作得很好。试着把
$(JAVA\u HOME)/lib/server
放在LD\u LIBRARY\u PATH
-export LD\u LIBRARY\u PATH=${JAVA\u HOME}/lib/server:${PATH}
我刚试过,但没用。试着把$(JAVA\u HOME)/lib/server
放在LD\u LIBRARY\u PATH
上${PATH}我刚试过,但没用。很高兴知道!听起来像是一个疯狂的依赖性问题:)我应该从哪里复制这些文件?很高兴知道!听起来像是一个疯狂的依赖性问题:)我应该从哪里复制这些文件?