linux系统运维--如何配置java的版本
原理分析
当我们配置环境变量的时候到底在配置什么?
我们一般需要在环境变量中做如下配置:
1 | - export JAVA_HOME=/usr/local/java/jdk1.8.0_291:设置JAVA_HOME环境变量,指向Java JDK的安装路径。 |
首先需要弄懂环境变量的定义:
- PATH 罗列出 shell 搜索 用户 输入的执行命令所在的目录。
- HOME (类Unix系统) 和 userprofile (Microsoft Windows) 表示用户的家目录在文件系统中的位置。
- TERM (类Unix系统) 指定使用终端或虚拟终端 的类型 (如, vt100 或 终端)。
- CVS_RSH (类Unix系统) 该选项可用于 ext 方式中指明 cvs 客户端寻找远端 shell 的路径,用作连接 cvs 服务器和以更高的优先权覆盖 $CVS_RSH 环境变量中指定的路径。
- MAIL (类Unix系统) 当前用户的邮件存放目录。
即环境变量本质就是约定的配置默认执行路径的一种方式而已。
而什么是CLASSPATH呢?classpath
是JVM用到的一个环境变量,它用来指示JVM如何搜索class
。
现在我们假设classpath
是.;C:\work\project1\bin;C:\shared
,当JVM在加载abc.xyz.Hello
这个类时,会依次查找^1:
<当前目录>\abc\xyz\Hello.class
C:\work\project1\bin\abc\xyz\Hello.class
C:\shared\abc\xyz\Hello.class
所以,CLASSPATH配置的其实就是定义搜索对应的class目录。指向Java类库的路径,包含了Java程序运行时需要的库文件,”.”表示当前目录。
问题解决
问题描述:系统存在旧的java版本 配置环境变量后依然是旧的java版本怎么办?
环境变量中配置的 PATH 变量系统是按照先后顺序进行读取的,应将其置于最上方。
一些辅助命令
使用env命令显示所有的环境变量:
1 | $ env |
使用set命令显示所有本地定义的Shell变量,使用unset命令来清除环境变量
1 | set可以设置某个环境变量的值。清除环境变量的值用unset命令。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 slowsail'space!