当前位置: 首页 > 知识库问答 >
问题:

rJava没有获得正确的Java版本

毕宏盛
2023-03-14
Java interpreter : /usr/bin/java
Java version     : 1.8.0_25
Java home path   : /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
Non-system Java on OS X

尝试编译和链接JNI progam

detected JNI cpp flags    : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
gcc -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/../include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/../include/darwin -I/usr/local/include    -fPIC  -mtune=core2 -g -O2  -c conftest.c -o conftest.o
gcc -arch x86_64 -std=gnu99 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -L/usr/local/lib -o conftest.so conftest.o -L/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/server -ljvm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation


JAVA_HOME        : /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre
Java library path: $(JAVA_HOME)/lib/server
JNI cpp flags    : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm

然后我继续转到R,并将rJava包作为源代码安装,如下所示:install.packages(“rJava”,type=“source”),然后转到done(rJava)

然后,当我使用以下命令检查版本时:

library(rJava)
.jinit()
.jcall("java/lang/System", "S", "getProperty", "java.runtime.version")

共有1个答案

柳高卓
2023-03-14

最新版本的rJava已经修复了这个问题。我使用命令从站点安装了最新版本

install.packages(“rjava”,“http://rforge.net/”,type=“source”)

现在调用jvm的输出如下:

> library(rJava)
> .jinit()
> .jcall("java/lang/System", "S", "getProperty", "java.runtime.version")
[1] "1.7.0_75-b13"
 类似资料:
  • 我在安装了Javajdk(和jre)1.6的Unix机器上通过Eclipse Juno生成了一个ant文件。当在build.xml文件所在的eclipse之外的机器上运行ant时,一切都很顺利。 现在,问题是当我尝试在另一台机器上运行ant时,其中jdk和jre 1.6都安装了。这是我在运行RedHat 3的另一台机器上得到的结果(无法更改): 当我在build.xml文件中添加这一行时,我得到以

  • 在我将ansible playbooks的php版本从5更新到7.2之后,我将xdebug与该版本相匹配。我在我得到的“流浪者”框中运行php-v PHP7.2。11-3乌本图14。04.1黛布。苏里。org 1(cli)(创建日期:2018年10月25日08:20:21)(NTS)版权所有(c)1997-2018 PHP Group Zend Engine v3。2.0,版权所有(c)1998-

  • 问题内容: 在我的spring项目中,我的Dao类具有以下模板: 我的每个Dao类都具有以下结构: 这意味着当我调用方法findById,findByField,findAll时,我应该从Usuario,Usuario和List类型接收对象。 这两个拳头类的返回正确值,但最后一个不返回。当我运行此方法时(从我的服务类中): 我应该看到“ usuario”时收到“对象”作为响应。有人可以告诉我我在做

  • 问题内容: 是否有一种简单的方法来获取当前操作系统使用的行尾类型? 问题答案: 如果您对以文本模式打开的文件进行操作,那么正确的是所有换行符都显示为“ ”。否则,您正在寻找。 从http://docs.python.org/library/os.html: os。 Lineep 在当前平台上用于分隔(或终止)行的字符串。这可以是单个字符,例如对于POSIX是’\ n’,也可以是多个字符,例如对于W

  • 问题内容: 我希望詹金斯测试代码以供审查。jenkins作业是在推送到refs / for / master时开始的,但它尝试构建origin / master分支,而不是refs / changes / XX / X / X分支。有人知道我做错了吗? 来自詹金斯的日志: Git配置: Gerrit触发器配置: 问题答案: 抱歉,我没有足够仔细地阅读文档。 Git配置中缺少什么:

  • 我有下面的Python代码来拍摄网页截图。它在大多数情况下都很有效,但当我试图打印 http://www.totalwine.com/wine/red-wine/pinot-noir/C/000018 我得到了一个不同的截图-不同于实际的页面(我得到正确的截图有时)。有人能帮忙吗。我已经附上了输出截图,我也得到了。请在浏览器上加载上面的链接,你会看到一个不同的页面。