RCaller调用Rscript.exe报错:系统找不到指定文件求助
RCaller调用报错及Ruinversal配置解决方案
一、先解决当前路径报错问题
你的报错核心是Rscript路径里的空格(C:\Program Files)导致系统只识别到C:\Program,找不到程序。直接改代码里的路径设置就行:
- 方法1:给路径加转义后的双引号,代码里这么写:
RCaller caller = new RCaller(); caller.setRscriptExecutable("\"C:\\Program Files\\R\\R-4.1.1\\bin\\Rscript.exe\""); // 后续执行代码不变
- 方法2:用Windows短路径替代,
Program Files的短路径是Progra~1,代码里写:
caller.setRscriptExecutable("C:\\Progra~1\\R\\R-4.1.1\\bin\\Rscript.exe");
二、IntelliJ配置Ruinversal解决版本匹配问题
如果想用Ruinversal解决版本不兼容问题,按以下步骤来:
- 打开IntelliJ的设置(快捷键:Windows/Linux按Ctrl+Alt+S,Mac按Cmd+,)
- 依次展开
Build, Execution, Deployment > Build Tools > Maven > Runner - 在
VM Options输入框里添加参数,指定你的R版本:-Druniversal.r.version=4.1.1 - 检查pom.xml里的Ruinversal依赖,确保版本支持R4.1.1,比如:
<dependency> <groupId>com.github.jbytecode</groupId> <artifactId>runiversal</artifactId> <version>1.2.0</version> </dependency> - 点击Maven面板的「Reload All Maven Projects」按钮,重新加载依赖后再运行代码即可。
内容的提问来源于stack exchange,提问作者JMA
相关产品推荐
相关产品推荐

