Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacOS无法识别MacOS 10.14.6上更新的Java_Java_Macos Mojave - Fatal编程技术网

MacOS无法识别MacOS 10.14.6上更新的Java

MacOS无法识别MacOS 10.14.6上更新的Java,java,macos-mojave,Java,Macos Mojave,在通过自制将R更新为3.6.1后重新安装软件包的过程中,我遇到了这个问题(在RStudio 1.2.5019中运行): 运行 bash-3.2$ sudo R CMD javareconf 屈服 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 Jav

在通过自制将R更新为3.6.1后重新安装软件包的过程中,我遇到了这个问题(在RStudio 1.2.5019中运行):

运行

bash-3.2$ sudo R CMD javareconf
屈服

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

trying to compile and link a JNI program 
detected JNI cpp flags    : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
clang -I"/usr/local/Cellar/r/3.6.1_1/lib/R/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/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/include  -fPIC  -g -O2  -c conftest.c -o conftest.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/Cellar/r/3.6.1_1/lib/R/lib -L/usr/local/opt/gettext/lib -L/usr/local/opt/readline/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 -L/usr/local/Cellar/r/3.6.1_1/lib/R/lib -lR -lintl -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
Updating Java configuration in /usr/local/Cellar/r/3.6.1_1/lib/R
Done.
重新运行
install.packages(“rJava”)
会产生稍微不同的错误消息:


*** JDK is incomplete! Please make sure you have a complete JDK. JRE is *not* sufficient.
configure: error: ./configure failed for jri
ERROR: configuration failed for package ‘rJava’
* removing ‘/usr/local/lib/R/3.6/site-library/rJava’
Warning in install.packages :
  installation of package ‘rJava’ had non-zero exit status
但是我注意到,
R CMD javareconf
的输出列出了一个旧的Java版本:1.8.0\u 25。运行
java-version
确认:

java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
运行
/usr/libexec/java_home-V
确认仅安装了1.8.0_25(即使在下载并运行了最新java版本的安装程序之后):

查看应该安装了1.8.0çu-b11的显示

我尝试过卸载Java并重新安装Java,但没有效果

为什么会有差异?如何让操作系统识别最新版本

我在管理MacOS Mojave 10.14.6


谢谢,

好的,新手错误。我安装的是JRE而不是JDK。从下载并安装JDK解决了java版本问题。

好的,新手错误。我安装的是JRE而不是JDK。从下载并安装JDK解决了java版本问题

java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
Matching Java Virtual Machines (1):
    1.8.0_25, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

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