StatEt插件RJ组件Java9兼容及安装报错排查咨询
针对StatEt RJ组件问题的解决方案
我来帮你逐一解决遇到的这三个问题:
1. 用于StatEt的RJ是否兼容Java 9?
很遗憾,RJ 2.1版本并不兼容Java 9。Java 9引入了模块化系统(JPMS),而旧版本的RJ组件没有针对这个特性做适配,会直接触发你遇到的ClassNotFoundException类加载失败问题。建议你降级到Java 8(JDK 1.8.x版本),这个版本和StatET 3.6.1、RJ 2.1、R 3.4.3的组合兼容性最优,能避免大部分类加载相关的异常。
2. 降级Java后,如何正确安装RJ?
切换到Java 8后,可以按照以下步骤重新安装并配置RJ组件:
- 先卸载已有的
rj和rj.gd包,避免残留问题:remove.packages(c("rj", "rj.gd")) - 先运行
R CMD javareconf(具体操作看第三个问题),让R和Java建立正确的编译关联; - 重新执行RJ安装命令:
install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-2.1") - 配置StatEt的RJ路径:
- 打开Eclipse,进入
Window > Preferences > StatEt > R Environments - 选中你的R环境,点击
Edit按钮 - 在
RJ Libraries标签页,确认rj和rj.gd的包路径已被自动识别;如果未识别,可手动添加R包安装目录下的rj和rj.gd文件夹 - 确保
R_LIBS环境变量已包含这两个包的安装路径
- 打开Eclipse,进入
3. Windows系统中如何运行R CMD javareconf?
在Windows上执行这个命令的步骤如下:
- 首先以管理员身份打开命令提示符(CMD):右键点击开始菜单,选择「命令提示符(管理员)」;
- 如果已经把R的bin目录添加到系统PATH中,直接输入命令即可:
R CMD javareconf - 如果R不在系统PATH里,先切换到R的bin目录(比如你的R 3.4.3安装路径是
C:\Program Files\R\R-3.4.3),再执行命令:cd "C:\Program Files\R\R-3.4.3\bin" R CMD javareconf - 运行前请确认:
- JDK 8已正确安装,且
JAVA_HOME环境变量指向JDK的安装目录(比如C:\Program Files\Java\jdk1.8.0_291); - 系统
PATH环境变量中已添加%JAVA_HOME%\bin路径。
- JDK 8已正确安装,且
内容的提问来源于stack exchange,提问作者Stefan
相关产品推荐
相关产品推荐

