启动R时出现严重错误....“jvm.dll”缺失!不能再使用库

时间:2016-11-10 08:54:50

标签: r runtime-error rjava

我遇到了一个严重的问题,它已经有效地阻止了我的 R 编程环境。我需要Java集成和rJava库,因为我在许多其他软件包中使用 R 程序,并且它们将此库指定为先决条件(Rapidminer,SAP Predictive analytics等)。它以前工作,我不知道发生了什么!请协助。

  1. 当我启动 R 时,它会出现:

    Message on R bootup。消息说“它的标题是:rsession.exe-系统错误,正文说:

      

    “程序无法启动,因为您的计算机缺少jvm.dll。请尝试重新安装该程序以解决此问题”。

    我必须重新安装哪个程序(在消息中提到)以及我必须在哪里安装它?

  2. 我已经安装并重新安装了r(版本3.2.1)[2] ..见第二张图片(我正在使用R studio(版本0.99893))

    ![在此处输入图像说明] [2]

  3. 我还删除并重新安装了java库rJava,它安装但不会加载即库(rJava)..导致出现与1 上面,当我按OK继续控制台时会显示以下文字:

  4. 使用“library(rJava)”时,R CONSOLE中的错误消息

    "library("rJava", lib.loc="~/R/win-library/3.2")
     Error : .onLoad failed in loadNamespace() for 'rJava', details:
     call: inDL(x, as.logical(local), as.logical(now), ...)
     error: unable to load shared object 'C:/Users/grbortz/
     Documents/R/win-library/3.2/rJava/libs/x64/rJava.dll':
      LoadLibrary failure:  The specified module could not be found.
    

    另外:警告信息:

      

    包'rJava'是在R版本3.2.5下构建的   错误:'rJava'

    的包或命名空间加载失败

    但是当我按照上面提到的那样查看我的目录时, 上面提到的rJava.dll路径,即 ~ " Users\ grbortz\ Documents /R/ winlibrary /3.2/rJava/libs / x64 / rJava.dll

    rJava.dll文件就在那里!

    请帮忙。如果我需要更多的演员,我很乐意帮忙。

5 个答案:

答案 0 :(得分:2)

R-studio正在寻找' jvm.dll'文件位于不存在的位置。您可能安装了64位R工作室,并且它正在查找32位java文件夹。尝试找到64位版本的java的位置,在那里你将拥有jvm.dll。在我的机器上这个jvm.dll文件在

  • " C:\ Program Files \ Java \ jre7 \ bin \ server"。

一旦找到,你所要做的就是指出java" jre7"文件夹驻留,RStudio将自动查找其中的jvm.dll。您可以使用以下命令指出它

Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre7')

答案 1 :(得分:0)

  • 在RStudio中输入.LibPaths()
  • 这将为您提供图书馆所在的Windows系统中的路径
  • 去那里删除rJava。如果Java应用程序正在使用它,请在任务管理器中终止所有Java程序。

  • 转到计算机和媒体资源,点击更改环境变量

  • 将JAVA_HOME编辑到最新安装的Java所在的路径并保存。

答案 2 :(得分:0)

首先检查Java版本是否安装在指定的文件夹中

C:\ Program Files \ Java \ jre7 \

就我而言,最新的Java版本位于以下路径中:

C:\ Program Files(x86)\ Java \ jre1.8.0_181

所以我在高级系统设置->环境变量-> JAVA_HOME

中更改了路径

然后R studio消息停止了

答案 3 :(得分:0)

检查是否有一个名为"JAVA_HOME"的系统环境变量指向错误或不存在的目录。更新JRE后可能会发生这种情况。编辑环境变量以指向正确的目录(例如"C:\Program Files\Java\jre1.8.x_xxx")。

答案 4 :(得分:0)

我已经处理了好几个小时了。我终于弄明白了。我对你的建议;

  • 首先,检查您的Java版本及其安装文件夹
    在控制面板中。
  • 如果R为64位,则在Java中应为64位。请检查。
  • 您必须输入在环境中学习的Java的路径 变量。如下图。

Environment Variables Screen

我将其添加到“ Java Home”中,而忽略了最底层的(PATH),因此没有发生。 您需要在两个地方对环境变量进行更改。如下图。其中之一是在PATH中添加和添加分号,或者如果分号已经存在,则对其进行更新。我更新了。问题解决了。祝你好运。

Setting 1

Setting 2

适用于WINDOWS 7用户

Windows 7上的路径定义引起了问题。当您键入... bin \ x64时,出现以下错误。

”在环境的Java缓存中找到了值为C:\ Program Files \ Java \ jre1.8.0_251 \ bin的变量JAVA_HOME。 JAVA_HOME C:\ Program Files \ Java \ jre1.8.0_251 \ bin似乎不是Java的有效主目录。 将JAVA_HOME设置为C:\ Program Files \ Java \ jre1.8.0_251 在环境的Java缓存中找到具有值C:\ Program Files \ R \ R-3.5.3 \ bin \ x64 \的变量R_HOME。 R_HOME C:\ Program Files文件\ R \ R-3.5.3 \ bin \ x64 \似乎不是R的有效宿主。“

作为一种解决方法,删除\ bin \ x64语句。这样就可以了。祝你一切顺利。