三尺非寒 发表于 4 天前

R语言之rjava版本不匹配解决方法

加载xlsx包报错,R 和 rJava 的架构不匹配(R 是 64 位,而 Java 是 32 位)
https://i-blog.csdnimg.cn/direct/eda7a699392e4dbba2f81f4bde9a34ff.png
> library(rJava)
错误: package or namespace load failed for ‘rJava’:
loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
调用: inDL(x, as.logical(local), as.logical(now), ...)
错误: 无法载入共享目标对象‘C:/Program Files/R/R-4.4.3/library/rJava/libs/x64/rJava.dll’::
LoadLibrary failure:%1 不是有效的 Win32 应用程序。  
 确认Java架构

https://i-blog.csdnimg.cn/direct/c228007fcde24f448ec1fecc3b984183.png
Client VM:如果输出中提到的是 Client VM,通常意味着 Java 是 32 位。
对于 64 位的 Java,通常会显示为 Server VM 或明确提到 64-Bit Server VM。

没有提到 64-Bit:输出中没有出现 64-Bit 字样,进一步表明这是 32 位 的 Java。 https://i-blog.csdnimg.cn/direct/3bd046de26bf4dc490130ed2879d67d0.png
https://i-blog.csdnimg.cn/direct/f2780a3fe7aa4fc599d1cf053d542660.png

确认R架构

https://i-blog.csdnimg.cn/direct/488ea83327264efc8c8f183c669d2049.png
sessionInfo()

查看输出中的 arch 字段
如果 arch 显示为 x86_64,则表示你的 R 是 64 位。
如果 arch 显示为 i386 或 x86,则表示你的 R 是 32 位。  
JDK 1.8 64位安装

https://i-blog.csdnimg.cn/direct/1bbc0198be7949d3a0be9288dd8a1b48.png
 https://i-blog.csdnimg.cn/direct/5d8b91de4eb240b2b95a1453f3c68e3f.png
https://i-blog.csdnimg.cn/direct/98e4b3c7db9b460790f372524fee861a.png
32 位和 64 位 Java 可以共存,通过路径、环境变量或 IDE 配置。
设置默认版本



[*]如果需要为某个项目或全局环境指定特定版本,可以调解 JAVA_HOME 环境变量:

[*]指向 64 位 Java:C:\Program Files\Java\jdk1.8.0_XXX
[*]指向 32 位 Java:C:\Program Files (x86)\Java\jdk1.8.0_XXX

https://i-blog.csdnimg.cn/direct/7606859a53c6450092052b5ffb693536.png
重启RStudio,加载乐成
https://i-blog.csdnimg.cn/direct/cfb107d5e6324c4d9fcdda9573f97062.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: R语言之rjava版本不匹配解决方法