java -version和javac -version不同原因及修改方法
1、出现原因
我之前安装的jdk是1.6;后来又装成1.8,把变量名JAVA_HOME改成了1.8的文件路径,最终导致java -version和javac -version显示的版本不一致。
2、错误结果
java -version 显示的是最新安装版本的java
javac -version 显示的是你配置环境变量版本的java
3、修改方法
把 %JAVA_HOME% 放在Path的头部;
- 变量名:JAVA_HOME
- 变量值:C:\Program Files\Java\jdk1.8.0
- 变量名:CLASSPATH
- 变量值:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
- 变量名:Path
- 变量值:%JAVA_HOME%\bin;
这些变量都是配置在系统变量里面的(见下图)
4、jar及jdk/jre解释
- dt.jar和tools.jar位于:%Java_Home%/lib/下,rt.jar位于:%Java_Home%/jre/lib/下
- rt.jar是Java基础类库,也就是你在java doc里面看到的所有的类的class文件
- dt.jar是关于运行环境的类库
- tools.jar是工具类库,编译和运行需要的都是tools.jar里面的类分别是sun.tools.java.*; sun.tools.javac.*; 在Classpath设置这几个变量,是为了方便在程序中 import;
- Web系统都用到tool.jar。
- rt.jar 默认就在Root Classloader的加载路径里面的,而在Claspath配置该变量是不需要的;同时jre/lib目录下的 其他jar:jce.jar、jsse.jar、charsets.jar、resources.jar都在Root Classloader中
- tools.jar 是系统用来编译一个类的时候用到的,即执行javac的时候用到 javac XXX.java 实际上就是运行 java -Calsspath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java;javac就是对上面命令的封装,所以tools.jar 也不用加到classpath里面
- dt.jar是关于运行环境的类库,主要是swing的包 在用到swing时最好加上。
- jdk与jre的区别:
- JDK,开发java程序用的开发包,JDK里面有java的运行环境(JRE),包括client和server端的。需要配置环境变量。。。。
- JRE,运行java程序的环境,JVM,JRE里面只有client运行环境,安装过程中,会自动添加PATH
- jdk/jre详解
java -version和javac -version不同原因及修改方法相关推荐
- debug运行可以,release运行报错的原因及修改方法
通常我们开发的程序有2种模式:Debug模式和Release模式在Debug模式下,编译器会记录很多调试信息,也可以加入很多测试代码,方便我们程序员测试,以及出现bug时的分析解决Release模式下 ...
- -bash: ls: No such file or directory 产生的原因及修改方法
ubuntu出现如下错误: { Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.15.0-42-generic x86_64) * Documentation: ...
- java version 和javac版本不一致_windows安裝多個版本的jdk,解決java-version和javac-version版本不一致的問題...
系統先裝了jdk1.8 ,環境變量里配置的是jdk1.8,java -version 與javac -version 版本一致. 然后安裝了jdk1.6 ,環境變量java_home 改成了1.6,但 ...
- 解决linux下javac -version和java -version版本显示不一致
版本不一致导致我这里出现这种问题,Exception in thread "main" java.lang.UnsupportedClassVersionError: kongju ...
- javac -version ;java -version不一致
2019独角兽企业重金招聘Python工程师标准>>> 近两天碰到一个问题,在部署之前已经成熟的WEB项目到TOMCAT下运行,死活老是报servlet调用service服务Null ...
- linux java javac版本_linux下java 和 javac version 不一致问题
centos下 我新安装了个jdk1.7的版本 ,vi profile 之后 java -version 是新版本,想在看看javac -version 发现还是1.6的 之前安装了1.6的 那好咱就 ...
- java version 和javac版本不一致_解决linux下javac -version和java -version版本显示不一致...
[javascript] view plaincopy [root@localhost usr]# $JAVA_HOME/bin/java -version bash: /bin/java: 没有那个 ...
- Java 编译,运行错误之 java.lang.UnsupportedClassVersionError: Bad version n umber in .class file
这里使用的是 http://blog.csdn.net/oscar999/article/details/7305489 中的JDBCTest.java源文件 1. 在JDK1.6 中使用编译命令编译 ...
- Java 编译,运行错误之 java.lang.UnsupportedClassVersionError: Bad version n umber in .class file...
这里使用的是 http://blog.csdn.net/oscar999/article/details/7305489 中的JDBCTest.java源文件 1. 在JDK1.6 中使用编译命令编译 ...
最新文章
- ksql 数量大于2_504深入解读路基土石方说明,路基填方数量组成?运距>15km咋办...
- R语言学习笔记(十一):广义线性模型
- DJANGO用户名认证一例
- 【做题记录】Codeforces做题记录
- C++ 模板(template) 的定义
- jenkins集成gitlab
- 安排计算机网络技术专业去电子厂专业对口吗,计算机网络技术专业好点的学校有哪些?...
- iOS NSString中字符串的删除,替换
- 【C/C++开发】【VS开发】win32位与x64位下各类型长度对比
- kali 安装grub theme
- 利用unlocker在VMware里解锁macOS操作系统
- 一个可以接到“为所欲为”的成语接龙生成器
- 知识蒸馏论文翻译(9)—— Multi-level Knowledge Distillation via Knowledge Alignment and Correlation
- 生育医疗费用出院结算流程
- 推荐5个好用的开源日志分析工具 (转载)
- python sys.path用法
- 详解调用TI的太阳能库(Solar Lib)
- 利用aotu.js实现微信自动添加通讯录中的联系人
- go hive skynet_hive,skynet以及go语言
- 利用教育网站源码进行网校平台搭建,如何留住学生用户?