yum 卸载 jdk
yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
yum 安装的jdk
使用yum查找jdk: yum search java|grep jdk
# yum search java|grep jdkldapjdk-javadoc.noarch : Javadoc for ldapjdkjava-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environmentjava-1.6.0-openjdk-demo.x86_64 : OpenJDK Demosjava-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environmentjava-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentationjava-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundlejava-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environmentjava-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connectorjava-1.7.0-openjdk-demo.x86_64 : OpenJDK Demosjava-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environmentjava-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment withoutjava-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentationjava-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundlejava-1.8.0-openjdk.i686 : OpenJDK Runtime Environmentjava-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environmentjava-1.8.0-openjdk-accessibility.i686 : OpenJDK accessibility connectorjava-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connectorjava-1.8.0-openjdk-accessibility-debug.i686 : OpenJDK accessibility connectorjava-1.8.0-openjdk-accessibility-debug.x86_64 : OpenJDK accessibility connectorjava-1.8.0-openjdk-debug.i686 : OpenJDK Runtime Environment with full debug onjava-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment with full debug onjava-1.8.0-openjdk-demo.i686 : OpenJDK Demosjava-1.8.0-openjdk-demo.x86_64 : OpenJDK Demosjava-1.8.0-openjdk-demo-debug.i686 : OpenJDK Demos with full debug onjava-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos with full debug onjava-1.8.0-openjdk-devel.i686 : OpenJDK Development Environmentjava-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environmentjava-1.8.0-openjdk-devel-debug.i686 : OpenJDK Development Environment with fulljava-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment withjava-1.8.0-openjdk-headless.i686 : OpenJDK Runtime Environmentjava-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environmentjava-1.8.0-openjdk-headless-debug.i686 : OpenJDK Runtime Environment with fulljava-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with fulljava-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentationjava-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK API Documentation for packagesjava-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK API Documentation compressed injava-1.8.0-openjdk-javadoc-zip-debug.noarch : OpenJDK API Documentationjava-1.8.0-openjdk-src.i686 : OpenJDK Source Bundlejava-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundlejava-1.8.0-openjdk-src-debug.i686 : OpenJDK Source Bundle for packages withjava-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle for packages withjava-11-openjdk.i686 : OpenJDK Runtime Environment 11java-11-openjdk.x86_64 : OpenJDK Runtime Environment 11java-11-openjdk-debug.i686 : OpenJDK Runtime Environment 11 with full debug onjava-11-openjdk-debug.x86_64 : OpenJDK Runtime Environment 11 with full debug onjava-11-openjdk-demo.i686 : OpenJDK Demos 11java-11-openjdk-demo.x86_64 : OpenJDK Demos 11java-11-openjdk-demo-debug.i686 : OpenJDK Demos 11 with full debug onjava-11-openjdk-demo-debug.x86_64 : OpenJDK Demos 11 with full debug onjava-11-openjdk-devel.i686 : OpenJDK Development Environment 11java-11-openjdk-devel.x86_64 : OpenJDK Development Environment 11java-11-openjdk-devel-debug.i686 : OpenJDK Development Environment 11 with fulljava-11-openjdk-devel-debug.x86_64 : OpenJDK Development Environment 11 withjava-11-openjdk-headless.i686 : OpenJDK Headless Runtime Environment 11java-11-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 11java-11-openjdk-headless-debug.i686 : OpenJDK Runtime Environment with fulljava-11-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with fulljava-11-openjdk-javadoc.i686 : OpenJDK 11 API documentationjava-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentationjava-11-openjdk-javadoc-debug.i686 : OpenJDK 11 API documentation for packagesjava-11-openjdk-javadoc-debug.x86_64 : OpenJDK 11 API documentation for packagesjava-11-openjdk-javadoc-zip.i686 : OpenJDK 11 API documentation compressed injava-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed injava-11-openjdk-javadoc-zip-debug.i686 : OpenJDK 11 API documentation compressedjava-11-openjdk-javadoc-zip-debug.x86_64 : OpenJDK 11 API documentationjava-11-openjdk-jmods.i686 : JMods for OpenJDK 11java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11java-11-openjdk-jmods-debug.i686 : JMods for OpenJDK 11 with full debug onjava-11-openjdk-jmods-debug.x86_64 : JMods for OpenJDK 11 with full debug onjava-11-openjdk-src.i686 : OpenJDK Source Bundle 11java-11-openjdk-src.x86_64 : OpenJDK Source Bundle 11java-11-openjdk-src-debug.i686 : OpenJDK Source Bundle for packages with debugjava-11-openjdk-src-debug.x86_64 : OpenJDK Source Bundle 11 for packages withldapjdk.noarch : The Mozilla LDAP Java SDK
执行安装命令:yum install java-1.8.0-openjdk
安装成功后,默认安装路径在/usr/lib/jvm/下边,
如/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el6_9.x86_64
查看安装路径(如下所示):
which java
ls -lrt /usr/bin/java
[root@preproduct1 ~]# which java/usr/bin/java[root@preproduct1 ~]# echo $JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64[root@preproduct1 ~]# ls -lrt /usr/bin/javalrwxrwxrwx 1 root root 22 Feb 13 10:40 /usr/bin/java -> /etc/alternatives/java[root@preproduct1 ~]# ls -lrt /etc/alternatives/javalrwxrwxrwx 1 root root 73 Feb 13 10:40 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java[root@preproduct1 ~]# cd /usr/lib/jvm[root@preproduct1 /usr/lib/jvm]# lltotal 4lrwxrwxrwx 1 root root 26 Feb 13 10:44 java -> /etc/alternatives/java_sdklrwxrwxrwx 1 root root 32 Feb 13 10:44 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0lrwxrwxrwx 1 root root 40 Feb 13 10:44 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdkdrwxr-xr-x 7 root root 4096 Feb 13 10:44 java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64lrwxrwxrwx 1 root root 34 Feb 13 10:44 java-openjdk -> /etc/alternatives/java_sdk_openjdklrwxrwxrwx 1 root root 21 Feb 13 10:40 jre -> /etc/alternatives/jrelrwxrwxrwx 1 root root 27 Feb 13 10:40 jre-1.8.0 -> /etc/alternatives/jre_1.8.0lrwxrwxrwx 1 root root 35 Feb 13 10:40 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdklrwxrwxrwx 1 root root 51 Feb 13 10:40 jre-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64 -> java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jrelrwxrwxrwx 1 root root 29 Feb 13 10:40 jre-openjdk -> /etc/alternatives/jre_openjdk
验证java是否安装成功
查看java版本:java -version
# java -versionopenjdk version "1.8.0_191"OpenJDK Runtime Environment (build 1.8.0_191-b12)OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
查看java是否可用:javac
# javac-bash: javac: command not found
错误原因:默认安装完只有运行环境,java安装目录下只有jre文件夹
安装开发环境yum install java-1.8.0-openjdk-devel.x86_64
安装完可看到java安装目录下出现bin、lib等文件夹:
[root@preproduct1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64]# ltotal 20drwxr-xr-x 2 root root 4096 Feb 13 10:44 bindrwxr-xr-x 3 root root 4096 Feb 13 10:44 includedrwxr-xr-x 4 root root 4096 Feb 13 10:40 jredrwxr-xr-x 3 root root 4096 Feb 13 10:44 libdrwxr-xr-x 2 root root 4096 Feb 13 10:44 tapset
再次输入javac说明安装成功
# javacUsage: javac <options> <source files>where possible options include: -g Generate all debugging info -g:none Generate no debugging info -g:{lines,vars,source} Generate only some debugging info -nowarn Generate no warnings -verbose Output messages about what the compiler is doing -deprecation Output source locations where deprecated APIs are use -classpath <path> Specify where to find user class files and annotationocessors -cp <path> Specify where to find user class files and annotationocessors -sourcepath <path> Specify where to find input source files -bootclasspath <path> Override location of bootstrap class files -extdirs <dirs> Override location of installed extensions -endorseddirs <dirs> Override location of endorsed standards path -proc:{none,only} Control whether annotation processing and/or compilat is done. -processor <class1>[,<class2>,<class3>...] Names of the annotation processors ton; bypasses default discovery process -processorpath <path> Specify where to find annotation processors -parameters Generate metadata for reflection on method parameters -d <directory> Specify where to place generated class files -s <directory> Specify where to place generated source files -h <directory> Specify where to place generated native header files -implicit:{none,class} Specify whether or not to generate class files for imcitly referenced files -encoding <encoding> Specify character encoding used by source files -source <release> Provide source compatibility with specified release -target <release> Generate class files for specific VM version -profile <profile> Check that API used is available in the specified proe -version Version information -help Print a synopsis of standard options -Akey[=value] Options to pass to annotation processors -X Print a synopsis of nonstandard options -J<flag> Pass <flag> directly to the runtime system -Werror Terminate compilation if warnings occur @<filename> Read options and filenames from file
设置环境变量
修改/etc/profile文件:vi /etc/profile
在profile文件末尾新增如下内容:
#set java environment JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64 JRE_HOME=$JAVA_HOME/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH
使环境变量生效:source /etc/profile
[root@preproduct1 /usr/lib/jvm]# cd /usr/lib/jvm[root@preproduct1 /usr/lib/jvm]# cd java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/[root@preproduct1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64]# source /etc/profile[root@preproduct1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64]# echo $JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64
yum 安装 jdk
yum install java-1.8.0-openjdk* -y
1、which java
首先输入命令行,查看结果:
[root@localhost ~]# which java
/usr/bin/java
PS:which Java是无法定位到Java的安装路径的,只能定位到执行路径;whereis Java也无法定位,只能展示一部分的Java路径,如下所示:
[root@localhost ~]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
2、echo $JAVA_HOME
使用 echo $JAVA_HOME 命令可以定位到Java安装路径,但是前提是配置了环境变量$JAVA_HOME,否则还是定位不到,如下所示:
[root@localhost ~]# java -versionopenjdk version "1.8.0_161"OpenJDK Runtime Environment (build 1.8.0_161-b14)OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)[root@localhost ~]# echo $JAVA_HOME[root@localhost ~]#
3、rpm -qa | grep java
如果JDK是源码安装,那么rpm -qa | grep java命令也是定位不到的jdk的安装路径的,比如我是用的yum命令安装,使用rpm -qa | grep java命令的话,结果如下所示:
[root@localhost ~]# rpm -qa | grep javajavapackages-tools-3.4.1-11.el7.noarchjava-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64tzdata-java-2018d-1.el7.noarchjava-1.8.0-openjdk-devel-1.8.0.161-0.b14.el7_4.x86_64java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64python-javapackages-3.4.1-11.el7.noarchjava-1.7.0-openjdk-headless-1.7.0.171-2.6.13.0.el7_4.x86_64[root@localhost ~]#
4、ls -lrt
先了解下ls命令:
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出) -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 -r 将文件以相反次序显示(原定依英文字母次序) -t 将文件依建立时间之先后次序列出 -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录) -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/" -R 若目录下有文件,则以下之文件亦皆依序列出
根据上面的命令,我们可以执行如下命令,找到JDK的安装路径:
[root@localhost ~]# ls -lrt /usr/bin/javalrwxrwxrwx 1 root root 22 Apr 3 19:30 /usr/bin/java -> /etc/alternatives/java[root@localhost ~]# ls -lrt /etc/alternatives/javalrwxrwxrwx 1 root root 73 Apr 3 19:30 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java[root@localhost ~]# cd /usr/lib/jvm[root@localhost ~]# lsjava jre-1.7.0java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64 jre-1.7.0-openjdkjava-1.8.0 jre-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64java-1.8.0-openjdk jre-1.8.0java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64 jre-1.8.0-openjdkjava-openjdk jre-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64jre jre-openjdk
ls -lrt解析:即将文件以建立时间先后顺序的倒叙排列显示,从上面的结果可以看出,/usr/bin/java是执行路径,那么继续执行后面的文件路径,即可找到JDK的安装路径为/usr/lib/jvm/java-1.8.0。
PS:上面提到的几种方法,适用于安装在Linux上的软件查询路径使用(并不仅仅限于查找JDK安装路径),请选择合适的方法。。。
转自:https://www.cnblogs.com/imyalost/p/8745137.html
联系客服