osx - 无法设置Java

时间:2017-11-11 22:08:30

标签: java r macos

我尝试将Java更新到最新版本(1.8.0_151)以便在R中使用某些软件包时失败了。

我当前的OSX版本是macOS Sierra版本10.12.6。

我尝试this solution(能够通过终端选择我想要的Java版本),但由于最新版本没有显示在我的调用中,因此无法使其工作。终端:

/usr/libexec/java_home -V

在我的航站楼,我仍然看到:

Matching Java Virtual Machines (2):
    1.6.0_65-b14-468, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 

我希望看到类似下面的内容(从第一个解决方案中复制和粘贴),即使我已下载最新版本的Java并通过我的系统偏好设置确认它是最新的。

Matching Java Virtual Machines (3):
1.8.0_05, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.6.0_65-b14-462, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home

此外,我尝试过this solution,尝试在bash中重新设置JAVA_HOME但我没有权限。

道歉,如果我遗漏了一些基本的东西,我没有在终端工作,也不知道这意味着我没有权限/如何更新我的个人资料以获取最新版本的Java。

此外,我在终端

中尝试了以下内容
R CMD javareconf

产生以下错误,而不是映射到适当的Java版本:

Java interpreter : /usr/bin/java
Java version     : 1.6.0_65
Java home path   : /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
System Java on macOS

trying to compile and link a JNI program 
detected JNI cpp flags    : -I/System/Library/Frameworks/JavaVM.framework/Headers
detected JNI linker flags : -framework JavaVM
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/System/Library/Frameworks/JavaVM.framework/Headers -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -c conftest.c -o conftest.o
conftest.c:4:5: warning: 'JNI_CreateJavaVM' is deprecated
      [-Wdeprecated-declarations]
    JNI_CreateJavaVM(0, 0, 0);
    ^
/System/Library/Frameworks/JavaVM.framework/Headers/jni.h:1936:39: note: 
      'JNI_CreateJavaVM' has been explicitly marked deprecated here
_JNI_IMPORT_OR_EXPORT_ __attribute__((deprecated)) jint JNICALL
                                      ^
1 warning generated.
clang -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 -o conftest.so conftest.o -framework JavaVM -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation


JAVA_HOME        : /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Java library path: 
JNI cpp flags    : -I/System/Library/Frameworks/JavaVM.framework/Headers
JNI linker flags : -framework JavaVM
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.

如何确保使用最近下载的Java版本并将其添加到我的个人资料中?

非常感谢任何和所有帮助!

- UPDATE -

我已按照these youtube steps将相应的JDK版本映射到我的.bash_profile

问题仍然存在于RStudio中,当我尝试安装RWeka软件包时,它没有提取正确的Java版本。

如何在我的RStudio中链接相应的版本?

RWeka安装的错误如下:

** package ‘RWeka’ successfully unpacked and MD5 sums checked
Need at least Java version 1.7/7.0.
ERROR: configuration failed for package ‘RWeka’
* removing ‘/Library/Frameworks/R.framework/Versions/3.3/Resources/library/RWeka’
Warning in install.packages :
  installation of package ‘RWeka’ had non-zero exit status

0 个答案:

没有答案