查看系统是否安装过java

yum list installed | grep java
如果有旧版本的java,且你自己不需要,可以用如下方法卸载所有的java(后边的 * 符号是通配符)

yum -y remove java-1.8.0-openjdk*
查看java软件包列表

yum list java*
注意
​ 这里一定要安装openjdk的开发版本(即java-1.8.0-openjdk-devel.x86_64),不然默认安装的是运行环境版本,会导致/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64目录下只有jre文件夹,这会缺失某些命令,比如Java -version能找到,但是javac -version、jps -lm等命令找不到,而且没法配置环境变量等问题

安装我们需要的Java版本,这里我选择1.8版本
yum install java-1.8.0-openjdk-devel.x86_64
安装好后,使用where命令查看java安装位置
whereis java
一般都会在lib目录下,然后按照软连接指向一步步排查,可以找到jdk真实的目录位置
[root@localdomain1 nacos]# ll /usr/lib/jvm
total 4
lrwxrwxrwx. 1 root root   26 Aug 18 17:19 java -> /etc/alternatives/java_sdk
lrwxrwxrwx. 1 root root   32 Aug 18 17:19 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
lrwxrwxrwx. 1 root root   40 Aug 18 17:19 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
drwxr-xr-x. 7 root root 4096 Aug 18 17:19 java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 # 实际目录,其他都是软连接,最终指向这个目录
lrwxrwxrwx. 1 root root   34 Aug 18 17:19 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx. 1 root root   21 Aug 18 17:19 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root   27 Aug 18 17:19 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx. 1 root root   35 Aug 18 17:19 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx. 1 root root   51 Aug 18 17:19 jre-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 -> java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre
配置环境变量:
编辑/etc/profile文件,在文件最后追加变量配置
- vi /etc/profile
为什么设置变量?
系统在执行一些命令时是需要通过环境变量来找到当前命令的存放文件路径,从而正确的执行命令,否则你输入的命令只是一串字符串,系统并不知道要如何执行
#设置Java环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64     
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JRE_HOME/bin:$JAVA_HOME/bin

#在大多数情况下,安装Java并不需要手动配置CLASSPATH环境变量。从Java 8开始,Oracle推荐使用Java的内置工具javac和java来查找和加载类,而不必设置CLASSPATH环境变量。
#在默认情况下,Java会在以下位置查找类文件:1.当前目录(当前工作目录);2.系统类路径(classpath)
#如果你在命令行中使用javac和java命令,Java会自动查找类文件。当你在当前目录下编译和运行Java程序时,不需要设置任何类路径。
#然而,如果你使用IDE(如Eclipse、IntelliJ IDEA等),它们通常会自动配置类路径,因此你不需要手动设置CLASSPATH环境变量。
#export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
重新执行刚修改的初始化文件,使之立即生效

source /etc/profile
执行jps -lm命令,如果没有提示找不到命令,则表示已成功