转载地址:https://blog.csdn.net/u013641234/article/details/76158026
http://asjava.iteye.com/blog/2284568
Centos7自带Java
(1)查看原自带版本
[root@localhost ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
(2)查看java程序路径
[root@localhost ~]# which java
/usr/bin/java
(3)查看java相关路径
[root@localhost ~]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
(4)查看JAVA_HOME环境变量
[root@localhost ~]# echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/
注:如果没有配置"/etc/profile"文件,则不会输出"$JAVA_HOME"的值。
删除自带java
(1)查看CentOS自带JDK是否已安装
[root@localhost ~]# yum list installed | grep java
java-1.7.0-openjdk.x86_64 1:1.7.0.141-2.6.10.5.el7 @anaconda
java-1.7.0-openjdk-headless.x86_64 1:1.7.0.141-2.6.10.5.el7 @anaconda
java-1.8.0-openjdk.x86_64 1:1.8.0.131-11.b12.el7 @anaconda
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.131-11.b12.el7 @anaconda
javapackages-tools.noarch 3.4.1-11.el7 @anaconda
python-javapackages.noarch 3.4.1-11.el7 @anaconda
tzdata-java.noarch 2017b-1.el7 @anaconda
(2)假使存在自带的jdk,删除centos自带的JDK
yum -y remove java-1.7.0-openjdk*
yum -y remove java-1.8.0-openjdk*
yum -y remove tzdata-java.noarch
(3)查看yum库下的java安装包
[root@localhost ~]# yum -y list java
已加载插件:fastestmirror, langpacks
epel/x86_64/metalink | 5.8 kB 00:00:00
https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/repodata/repomd.xml: [Errno 12] Timeout on https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/repodata/repomd.xml: (28, 'Resolving timed out after 30552 milliseconds')
正在尝试其它镜像。
epel | 3.2 kB 00:00:00
(1/3): epel/x86_64/updateinfo | 934 kB 00:00:07
(2/3): epel/x86_64/primary | 3.5 MB 00:00:08
(3/3): epel/x86_64/group_gz | 88 kB 00:00:11
Loading mirror speeds from cached hostfile
* base: mirrors.shu.edu.cn
* epel: mirror01.idc.hinet.net
* extras: mirrors.shu.edu.cn
* updates: mirrors.neusoft.edu.cn
epel 12590/12590
错误:没有匹配的软件包可以列出
[root@localhost ~]# yum -y list java*
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.shu.edu.cn
* epel: mirror01.idc.hinet.net
* extras: mirrors.shu.edu.cn
* updates: mirrors.neusoft.edu.cn
已安装的软件包
java-1.7.0-openjdk.x86_64 1:1.7.0.141-2.6.10.5.el7 @anaconda
java-1.7.0-openjdk-headless.x86_64 1:1.7.0.141-2.6.10.5.el7 @anaconda
java-1.8.0-openjdk.x86_64 1:1.8.0.131-11.b12.el7 @anaconda
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.131-11.b12.el7 @anaconda
javapackages-tools.noarch 3.4.1-11.el7 @anaconda
可安装的软件包
java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-demo.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-devel.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-src.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.7.0-openjdk.x86_64 1:1.7.0.181-2.6.14.8.el7_5 updates
java-1.7.0-openjdk-accessibility.x86_64 1:1.7.0.181-2.6.14.8.el7_5 updates
java-1.7.0-openjdk-demo.x86_64 1:1.7.0.181-2.6.14.8.el7_5 updates
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.181-2.6.14.8.el7_5 updates
java-1.7.0-openjdk-headless.x86_64 1:1.7.0.181-2.6.14.8.el7_5 updates
java-1.7.0-openjdk-javadoc.noarch 1:1.7.0.181-2.6.14.8.el7_5 updates
java-1.7.0-openjdk-src.x86_64 1:1.7.0.181-2.6.14.8.el7_5 updates
java-1.8.0-openjdk.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-accessibility.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-accessibility-debug.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-accessibility-debug.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-debug.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-debug.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-demo.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-demo.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-demo-debug.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-demo-debug.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-devel.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-devel.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-devel-debug.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-devel-debug.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-headless.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-headless-debug.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-headless-debug.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-javadoc-debug.noarch 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-javadoc-zip.noarch 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-javadoc-zip-debug.noarch 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-src.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-src.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-src-debug.i686 1:1.8.0.171-8.b10.el7_5 updates
java-1.8.0-openjdk-src-debug.x86_64 1:1.8.0.171-8.b10.el7_5 updates
java-atk-wrapper.i686 0.30.4-5.el7 base
java-atk-wrapper.x86_64 0.30.4-5.el7 base
java-dirq.noarch 1.8-1.el7 epel
java-dirq-javadoc.noarch 1.8-1.el7 epel
java-oauth.noarch 20100601-13.el7 epel
java-oauth-javadoc.noarch 20100601-13.el7 epel
java_cup.noarch 1:0.11a-16.el7 base
java_cup-javadoc.noarch 1:0.11a-16.el7 base
java_cup-manual.noarch 1:0.11a-16.el7 base
javacc.noarch 5.0-10.el7 base
javacc-demo.noarch 5.0-10.el7 base
javacc-javadoc.noarch 5.0-10.el7 base
javacc-manual.noarch 5.0-10.el7 base
javacc-maven-plugin.noarch 2.6-17.el7 base
javacc-maven-plugin-javadoc.noarch 2.6-17.el7 base
javamail.noarch 1.4.6-8.el7 base
javamail-javadoc.noarch 1.4.6-8.el7 base
javaparser.noarch 1.0.11-3.el7 epel
javaparser-javadoc.noarch 1.0.11-3.el7 epel
javassist.noarch 3.16.1-10.el7 base
javassist-javadoc.noarch 3.16.1-10.el7 base
javastroke.x86_64 0.5.1-33.el7 epel
javawriter.noarch 2.5.1-4.el7 epel
javawriter-javadoc.noarch 2.5.1-4.el7 epel
[root@localhost ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
(4)安装java-1.8.0-openjdk.x86_64
[root@localhost ~]# yum -y install java-1.8.0-openjdk*
(5)查看是否安装最新版java
[root@localhost ~]# java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)
(6)重新安装后,jps命令可以使用
[root@localhost ~]# jps
6140 Jps
(7)查看java的编译器命令
[root@localhost ~]# javac
用法: javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖所安装扩展的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-parameters 生成元数据以用于方法参数的反射
-d <目录> 指定放置生成的类文件的位置
-s <目录> 指定放置生成的源文件的位置
-h <目录> 指定放置生成的本机标头文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <发行版> 提供与指定发行版的源兼容性
-target <发行版> 生成特定 VM 版本的类文件
-profile <配置文件> 请确保使用的 API 在指定的配置文件中可用
-version 版本信息
-help 输出标准选项的提要
-A关键字[=值] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标记> 直接将 <标记> 传递给运行时系统
-Werror 出现警告时终止编译
@<文件名> 从文件读取选项和文件名