我不明白的东西 - 我在OSX 10.9.5上,当我在终端上运行java -version
时,我得到:
java版本" 1.8.0_40"
Java(TM)SE运行时环境(版本1.8.0_40-b25)
Java HotSpot(TM)64位服务器VM(版本25.40-b25,混合模式)
但在我的/ Library / Java / JavaVirtualMachines / dir中我看到3个JDK:
Eclipse使用jdk1.7.0_76.jdk。我记得在Eclipse中为一些个人开发项目安装Java 7,但我不记得曾经安装过Java 8.那么为什么java -version
会说我运行8?如果该目录中的Java 8不存在jdk,该怎么办?
混淆。 TIA。
答案 0 :(得分:3)
您提问的版本实际上是Java Runtime Environment (JRE)
版本,而不是Java Developer Kit (JDK)
版本;他们是两个不同的东西。您正在运行Java 8(JRE
),但如果有可用的运行时,您可以有选择地选择另一个运行时。
如果您想查看当前可能拥有的所有Java版本:
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
1.8.0_45, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
1.6.0_65-b14-466.1, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-466.1, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
要查看当前正在运行的默认设置:
$ which java ; java -version
/usr/bin/java
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
要查看安装了JDKs
:
$ ls /Library/Java/JavaVirtualMachines/
jdk1.8.0_45.jdk
Java运行时环境(JRE)
JRE允许您运行用Java编程语言编写的应用程序。与JDK一样,它包含Java Virtual 机器(JVM),包含Java平台API的类,以及 支持文件。与JDK不同,它不包含开发 编译器和调试器等工具。
Java Development Kit(JDK)
JDK是一个用于构建的开发环境 使用Java编程的应用程序,applet和组件 语言。 JDK包含用于开发和测试用Java编程语言编写并运行的程序的工具 Java平台。
由于Eclipse依赖于JDK
中的工具,因此他们肯定会使用您安装的JDKs
之一,因为它只能使用JRE
。< / p>
答案 1 :(得分:0)
$ vim .bash_profile
export JAVA_HOME=YOUR_JDK8_PATH
$ source .bash_profile