关于安装多个版本jdk之后java -version不正确的问题

问题描述:

今天突然想写一个socket通信的小应用,分别采用BIO、NIO、AIO的方式来实现,来复习前面看的关于TCP/UDP通信的知识。于是乎在原来安装了jdk1.6的机子上重新安装了jdk1.8。结果就出现了一个很蛋疼的问题:我原来的JAVA_HOME配置根本就没有改变,但是在命令行执行 java -version出现的却是1.8版本,而javac -version出现的是正常的1.6版本。

原因分析:

参考 http://www.oschina.net/question/942785_103000?fromerr=U6XKsOdO , 主要原因是javac -version是由JAVA_HOME指定的路径中的java版本来决定的。而java -version中找的java.exe是根据系统环境变量PATH来定的,而此前我系统中的PATH变量配置为:JAVA_HOME相关的配置在最后,也就是在system32的后面。这样因为每次安装jre的时候,都会讲java.exe拷贝到system32路径中,而java -version会依次变量PATH配置,如果找到了就不在继续往后找,这就导致java -version永远是最新版本的java。

解决办法:

其实只要将系统环境变量PATH中的JAVA_HOME相关的配置移到最前即可。 其他的可以删除system32中的java.exe javaw.exe javaws.exe,删除注册表等。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

CTF实战:USV-2017全题解

? 前记 最近在某平台上down了一个CTF靶机玩玩,感觉还挺有意思的,故写出我的解题思路。 根据官方给的信息本靶机一共有5个flag,分别为:Croatia...

3625
来自专栏运维小白

1.14 救援模式

在centos6之前,有0-6七个级别 0 关机 (init 0) 1 单用户模式 2、3、4 命令行下的多用户模式 (在正常启动时,未安装图形界面进入的...

19410
来自专栏编程坑太多

Python:实现文件归档

1114
来自专栏Android干货

Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中

26810
来自专栏小狼的世界

创建自己的Docker基础镜像

Docker 提供了两种方法来创建基础镜像,一种是通过引入tar包的形式,另外一种是通过一个空白的镜像来一步一步构建,本文使用的是第二种方法,既FROM scr...

1132
来自专栏opengps

软件安装到D盘失败,提示“您对该安装目录没有写权限”解决办法

火狐安装中不能修改成C盘以外的路径原因终于找到,这个不是账户权限的问题 四部解决问题:(我习惯在安装软件的时候把安装路径中的C改成D) 1,火狐安装:常规...

3559
来自专栏容器云生态

根据红帽RHEL7官方文档对centos7进行技术剖析(一)

序言:红帽7教学环境介绍 rht-vmctl命令介绍; $ rht-vmctl start desktop     启动desktop虚拟机 $ rht-vmc...

2326
来自专栏云计算教程系列

如何在Ubuntu 16.04上从源代码安装Go

Go是由Google开发的一种现代开源编程语言。它很简单,并且拥有一组强大的库和工具,可以轻松搭建可靠,高效的应用程序。

1363
来自专栏北京马哥教育

Linux连不上网?一种方法应对千重难题!

问题:我们在使用Linux虚拟机的时候经常会出现各种各样的问题,其中的一个问题就是Linux虚拟机连不上网,这是我最近经常遇到的问题,下面提供一种方法解决这个问...

2726
来自专栏运维小白

Linux基础(day57)

14.4 exportfs命令 exportfs命令 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在...

2127

扫码关注云+社区