关于windows和linux系统更换JDK版本后,修改环境变量也无法生效的原因和解决办法
今天遇到了一个问题:
我linux系统之前安装JDK12,今天将其改成了JDK1.8,并修改了环境变量,但是通过java -version命令显示的依旧是JDK12的版本。
这是因为,当使用安装版本的JDK程序时(一般是1.7版本以上),在安装结束后安装程序会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到C:\Windows\System32目录,这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,故此直接更改JAVA_HOME会无效。
windows解决方法:
删除C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件
删除环境变量Path中C:\ProgramData\Oracle\Java\javapath的配置
原文链接:https://blog.csdn.net/qq_26369317/article/details/80922425
linux解决方法:
、执行which java和which javac查询java的执行路径,分别显示: /usr/bin/java /usr/local/jdk1..0_80/bin/javac 、然后把新的java执行路径ln -s 到新的jdk 下的 java 和 javac 上,如下 rm -rf /usr/bin/java rm -rf /usr/bin/javac(可选) ln -s $JAVA_HOME/bin/java /usr/bin/java ln -s $JAVA_HOME/bin/javac /usr/bin/javac(可选)
关于windows和linux系统更换JDK版本后,修改环境变量也无法生效的原因和解决办法的更多相关文章
- windows10系统修改JDK版本后配置环境变量不生效怎么办
之前安装了个jdk8版本,今天突然想安装个更新版本的jdk11来用,但在安装好JDK11并配置环境变量后发现修改JDK版本后配置的环境变量不生效的.本文就给大家分享一下windows10系统修改JDK ...
- Linux中修改环境变量导致大量命令不可用的解决办法
如果搞死环境变量别慌张.因为ls等命令都不能使用了,所以先找到/usr/bin/目录 使用./sudo su命令获取root权限 然后在进入/etc目录 利用vim profile命令 修改profi ...
- 在Windows下/Linux下安装jdk版本
到官网https://www.oracle.com/technetwork/java/javase/downloads/index.html选择适合自己的版本, 目前我做测试和开发主要用的是jdk 8 ...
- windows 安装多个版本的jdk后修改 环境变量不起作用
本机已经安装了jdk1.6,而比较早期的项目需要依赖jdk1.5,于是同时在本机安装了jdk1.5和jdk1.6. 安装jdk1.5前,执行java -version得到java version &q ...
- 关于Linux系统下jdk版本切换问题(alternatives命令的使用)
[root@danny lib]# cd /usr/lib/jvm [root@danny jvm]# [root@danny jvm]# ls java java--openjdk-.b13.el7 ...
- Linux系统ubuntu17安装jdk8并配置环境变量
上班多年,一直没有真正在Linux下开发过,没有捣鼓到Linux服务器,成为憾事.最近由于想学习Python,于是开始看书,学习Linux,学习shell编程. 选择Linux,先从最简单的ubunt ...
- java运行机制、Jdk版本及Java环境变量
一.语言特性 计算机高级语言按程序的执行方式可分为:编译型和解释型两种.编译型的语言是指使用专门的编译器,针对特定的平台(操作系统)一次性翻译成被该平台硬件执行的机器码,并包装成该平台可执行性程序文件 ...
- linux下安装JDK,及配置环境变量
首先去官网https://www.oracle.com/technetwork/java/javase/downloads/index.html下载最新的JDK版本: 以下操作在root用户下操作 第 ...
- java_Mac安装多个JDK版本并设置环境变量
JDK6.JDK7.JDK8三个版本的汇总地址:https://pan.baidu.com/s/1pKSYv8Z 安装 JDK6安装 JDK6下载地址 见网盘 安装完毕后确认版本 JavaForOSX ...
随机推荐
- JDK动态代理源码剖析
关键代码: 1.Proxy.newInstance: private static final Class<?>[] constructorParams = { InvocationHan ...
- 在apache hadoop2.6 上部署hive 并将hive数据源存储于Mysql
集成hive 的前提是apache hadoop 集群能够正常启动. hadoop 版本 apach2.6.0 hive 版本:1.2.1 1.安装mysql 并赋予权限: 1.1:创建hive 用 ...
- mac 完全卸载vscode
原文分隔线====================== while writing go this morning, I found that the wrong code are not under ...
- ionic3 多级联动城市选择插件 ion-multi-picker
1.效果演示 2.npm安装扩展包依赖 ion-multi-picker 组件 npm install ion-multi-picker --save 3.在app.module.ts中导入插件模块 ...
- linux下如何挂载磁盘
1.显示磁盘使用情况:#df 2.显示磁盘:#fdisk -l 3.格式化分区:#mkfs.ext4 /dev/vdb1 //注:将/dev/vdb1格式化为ext4类型(文件类型 ...
- CentOS 7 安装详细步骤
VMware安装centos 7 前期准备: 1. VMware虚拟机软件(使用的是15x) 2. CentOS-7-x86_64-DVD-1810.iso 一.安装VMware虚拟机软件 略 二.新 ...
- Shell 脚本的编码规范
- 杭电多校第六场-J-Ridiculous Netizens
Problem Description Mr. Bread has a tree T with n vertices, labeled by 1,2,…,n. Each vertex of the t ...
- nodejs 进阶:封装所有对数据库的常用操作
//这个模块里面封装了所有对数据库的常用操作 var MongoClient = require('mongodb').MongoClient; var settings = require(&quo ...
- Python装饰器使用技巧
装饰器 装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼,所以这也是Python面试中必问的问题,但对于好多初次接触这个知识的人来讲,这个功能有点绕,自学时直接绕过去了,然后面试 ...