我正在尝试rJava在Win 7 64位的计算机上安装.我跑的时候
install.packages("rJava")
Run Code Online (Sandbox Code Playgroud)
一切似乎都很好:
Installing package(s) into ‘C:/Users/djq/Documents/R/win-library/2.13’
(as ‘lib’ is unspecified)
trying URL 'http://software.rc.fas.harvard.edu/mirrors/R/bin/windows/contrib/2.13/rJava_0.9-1.zip'
Content type 'application/zip' length 654936 bytes (639 Kb)
opened URL
downloaded 639 Kb
package 'rJava' successfully unpacked and MD5 sums checked
The downloaded packages are in
C:\TEMP\RtmpW2eAUw\downloaded_packages
Run Code Online (Sandbox Code Playgroud)
但是当我尝试加载库时,library(rJava)我收到以下错误:
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/me/Documents/R/win-library/2.13/rJava/libs/x64/rJava.dll':
LoadLibrary failure: %1 is not a valid Win32 application.
Error: package/namespace …Run Code Online (Sandbox Code Playgroud) 使用install.packages("rJava")命令安装rJava时出现以下错误:
checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver : '/usr/bin/jar'
compiler : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux'
java libs : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix …Run Code Online (Sandbox Code Playgroud) 我在rJava上关注本教程:http://cran.r-project.org/web/packages/helloJavaWorld/vignettes/helloJavaWorld.pdf
我已经制作了教程中指定的所有文件并安装了helloJavaWorld包,但是一旦我运行了helloJavaWorld()函数,就会抱怨:
> helloJavaWorld()
Error in .jnew("HelloJavaWorld") :
java.lang.UnsupportedClassVersionError: HelloJavaWorld : Unsupported major.minor version 52.0
Run Code Online (Sandbox Code Playgroud)
所以我试着检查rJava正在使用的java版本:
.jinit()
jvm = .jnew("java.lang.System")
jvm.props = jvm$getProperties()$toString()
jvm.props <- strsplit(gsub("\\{(.*)}", "\\1", jvm.props), ", ")[[1]]
jvm.props
[1] "java.runtime.name=Java(TM) SE Runtime Environment"
[2] "sun.boot.library.path=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries"
[3] "java.vm.version=20.65-b04-466.1"
[4] "awt.nativeDoubleBuffering=true"
[5] "gopherProxySet=false"
[6] "mrj.build=11M4716"
[7] "java.vm.vendor=Apple Inc."
[8] "java.vendor.url=http://www.apple.com/"
[9] "path.separator=:"
[10] "java.vm.name=Java HotSpot(TM) 64-Bit Server VM"
[11] "file.encoding.pkg=sun.io"
[12] "user.country=US"
[13] "sun.os.patch.level=unknown"
[14] "java.vm.specification.name=Java Virtual Machine Specification"
[15] "user.dir=/private/tmp"
[16] "java.runtime.version=1.6.0_65-b14-466.1-11M4716"
[17] "java.awt.graphicsenv=apple.awt.CGraphicsEnvironment"
[18] "java.endorsed.dirs=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/endorsed" …Run Code Online (Sandbox Code Playgroud)