Problem loading rJava

2020-01-31 03:59发布

Yesterday I removed R2.11 from my system (Win7, 64bit), since I´m working on R2.13.

Since then i get an error message:

> require(rJava)
Lade nötiges Paket: rJava
Error : .onLoad in loadNamespace() fehlgechlagen, Details:
  Aufruf: rJava
  Fehler: inDL(x, as.logical(local), as.logical(now), ...)

I tried specifying PATH, since I found on the internet that it might have something to do with jvm.dll:

c:\Rtools\bin;
c:\Rtools\perl\bin;
c:\Rtools\MinGW\bin;
c:\Rtools\MinGW64\bin;
C:\Windows\system32;
%R_HOME%\bin;
C:\Program Files\R\R-2.13.0\bin; 
C:\Program Files\Java\jre6\bin\server

However I could not solve the problem... I also can´t run R from the win command line (just type "R"?)

Any suggestions?

标签: r
6条回答
叼着烟拽天下
2楼-- · 2020-01-31 04:28

I solved it by following these steps

  • setting my environment Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\jre6')
  • Manually installing rJava package from install package (even this should work: install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/'))
  • library(rJava)
查看更多
贪生不怕死
3楼-- · 2020-01-31 04:30

In my case installing proper version of Java solved my problem. I installed 64x bit java, cause I use 64x bit R version.

查看更多
家丑人穷心不美
4楼-- · 2020-01-31 04:37

Here is some quick advice on how to get up and running with R + rJava on Windows 7 64bit. There are several possibilities, but most have fatal flaws. Here is what worked for me:

Add jvm.dll to your PATH

rJava, the R<->Java bridge, will need jvm.dll, but R will have trouble finding that DLL. It resides in a folder like

C:\Program Files\Java\jdk1.6.0_25\jre\bin\server

or

C:\Program Files\Java\jre6\jre\bin\client

Wherever yours is, add that directory to your windows PATH variable. (Windows -> "Path" -> "Edit environment variables to for your account" -> PATH -> edit the value.)

You may already have Java on your PATH. If so you should find the client/server directory in the same Java "home" dir as the one already on your PATH.

To be safe, make sure your architectures match.If you have Java in Program Files, it is 64-bit, so you ought to run R64. If you have Java in Program Files (x86), that's 32-bit, so you use plain 32-bit R.

Re-launch R from the Windows Menu

If R is running, quit.

From the Start Menu , Start R / RGUI, RStudio. This is very important, to make R pick up your PATH changes.

Install rJava 0.9.2.

Earlier versions do not work! Mirrors are not up-to-date, so go to the source at www.rforge.net: http://www.rforge.net/rJava/files/. Note the advice there

“Please use

`install.packages('rJava',,'http://www.rforge.net/')`

to install.”

That is almost correct. This actually works:

install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')

Watch the punctuation! The mysterious “.libPaths()[1],” just tells R to install the package in the primary library directory. For some reason, leaving the value blank doesn’t work, even though it should default.

查看更多
霸刀☆藐视天下
5楼-- · 2020-01-31 04:37

I finally solved the problem:

It seems that rJava searches for jvm.dll in ~\Java\jre6\bin\client. However this folder didn´t exist on my system (jvm.dll was in ~\bin\server).

So I just made a copy of jvm.dll in a folder ~\bin\client\ and added this to the path.

Now everything works fine!

查看更多
欢心
6楼-- · 2020-01-31 04:41
  • In RStudio type .LibPaths()
  • This will give you an path in you windows system where your library’s are located
  • Go there and delete rJava. If it is being used by applications of Java, kill all Java programs in the Task Manager.

  • Go to computer and properties, click on change environment variables

  • Edit JAVA_HOME and all Java related paths to the path where your newest installation of Java is located and save.
查看更多
We Are One
7楼-- · 2020-01-31 04:45

My problem was solved by

install.packages("SqlRender",INSTALL_opts="--no-multiarch")

It was a package that depends on rJava and all advices were telling me to fix Java installation. But the solution was to use install option that simply forgets about i386 architecture. (also works with drat library and packages not from CRAN)

查看更多
登录 后发表回答