目录
基础概念
JDK安装版会向注册表里面写入一些配置信息,添加环境变量信息。
而解压版不会, 需要自己配置环境变量
指向jdk的安装目录
JAVA_HOME = JDK的安装路径指定命令搜索路径 (寻找要执行的命令)
Path = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;指定类搜索路径 (执行java编译的时候先在当前目录找.class文件找不到再去classpath路径中找)
CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jarjava -version 查看当前使用的java版本
windows
安装版
安装过程中会出现两次安装提示 。第一次是安装 jdk ,第二次是安装 jre 。
(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)
控制面板 java选项 打开java控制面板 查看日志
解压版
打开 java控制面板 jdk\jre\bin\javacpl.exe
多个JDK切换
解压版: 直接改变JAVA_HOME即可
安装版:
1. 改变JAVA_HOME 版本没变化再执行下一步
2. 控制面板——Java——查看—— 将不用的jdk启用去掉,保存 版本没变化再执行下一步
3. 目录C:\Windows\System32,将java.exe;avaw.exe;javaws.exe删除 版本没变化再执行下一步
64位系统在 C:\Windows\SysWOW64
4. 将环境变量Path路径中的%JAVA_HOME%\bin值移到最前面 版本没变化再执行下一步
5. 注册表 HKEY_LOCAL_MACHINE——SOFTWARE——JavaSoft,点击Java Development Kit 更改右边 CurrentVersion的值设置为你想要的版本值
3原因:由于在WINDOWS\System32环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,故如果只修改环境变量JAVA_HOME,jdk的版本并不会切换。
MacOS
在Mac OS X 10.5之后,在 /usr/libexec/
路径下多了一个叫java_home文件,这是Mac上专门用来管理JAVA_HOME的
/usr/libexec/java_home
/usr/libexec/java_home 文件的作用是会读取 Mac 系统下 /Library/Java/JavaVirtualMachines/
中的 jdk 目录,并返回最新版本的 jdk 目录
# 返回 /Library/Java/JavaVirtualMachines/ 中的所有的 jdk 目录
/usr/libexec/java_home -V
# 返回 1.7 版本的javahome
/usr/libexec/java_home -v 1.7
# 返回 1.8 版本的javahome
/usr/libexec/java_home -v 1.8