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的头部;

  1. 变量名:JAVA_HOME
  2. 变量值:C:\Program Files\Java\jdk1.8.0
  3. 变量名:CLASSPATH
  4. 变量值:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
  5. 变量名:Path
  6. 变量值:%JAVA_HOME%\bin;

这些变量都是配置在系统变量里面的(见下图)

4、jar及jdk/jre解释

  1. dt.jar和tools.jar位于:%Java_Home%/lib/下,rt.jar位于:%Java_Home%/jre/lib/下
  2. rt.jar是Java基础类库,也就是你在java doc里面看到的所有的类的class文件
  3. dt.jar是关于运行环境的类库
  4. tools.jar是工具类库,编译和运行需要的都是tools.jar里面的类分别是sun.tools.java.*; sun.tools.javac.*; 在Classpath设置这几个变量,是为了方便在程序中 import;
  5. Web系统都用到tool.jar。
    1. rt.jar 默认就在Root Classloader的加载路径里面的,而在Claspath配置该变量是不需要的;同时jre/lib目录下的    其他jar:jce.jar、jsse.jar、charsets.jar、resources.jar都在Root Classloader中
    2. tools.jar 是系统用来编译一个类的时候用到的,即执行javac的时候用到 javac XXX.java 实际上就是运行    java -Calsspath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java;javac就是对上面命令的封装,所以tools.jar 也不用加到classpath里面
    3. dt.jar是关于运行环境的类库,主要是swing的包  在用到swing时最好加上。
  6. jdk与jre的区别
    1. JDK,开发java程序用的开发包,JDK里面有java的运行环境(JRE),包括client和server端的。需要配置环境变量。。。。
    2. JRE,运行java程序的环境,JVM,JRE里面只有client运行环境,安装过程中,会自动添加PATH
    3. jdk/jre详解

java -version和javac -version不同原因及修改方法相关推荐

  1. debug运行可以,release运行报错的原因及修改方法

    通常我们开发的程序有2种模式:Debug模式和Release模式在Debug模式下,编译器会记录很多调试信息,也可以加入很多测试代码,方便我们程序员测试,以及出现bug时的分析解决Release模式下 ...

  2. -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: ...

  3. java version 和javac版本不一致_windows安裝多個版本的jdk,解決java-version和javac-version版本不一致的問題...

    系統先裝了jdk1.8 ,環境變量里配置的是jdk1.8,java -version 與javac -version 版本一致. 然后安裝了jdk1.6 ,環境變量java_home 改成了1.6,但 ...

  4. 解决linux下javac -version和java -version版本显示不一致

    版本不一致导致我这里出现这种问题,Exception in thread "main" java.lang.UnsupportedClassVersionError: kongju ...

  5. javac -version ;java -version不一致

    2019独角兽企业重金招聘Python工程师标准>>> 近两天碰到一个问题,在部署之前已经成熟的WEB项目到TOMCAT下运行,死活老是报servlet调用service服务Null ...

  6. linux java javac版本_linux下java 和 javac version 不一致问题

    centos下 我新安装了个jdk1.7的版本 ,vi profile 之后 java -version 是新版本,想在看看javac -version 发现还是1.6的 之前安装了1.6的 那好咱就 ...

  7. java version 和javac版本不一致_解决linux下javac -version和java -version版本显示不一致...

    [javascript] view plaincopy [root@localhost usr]# $JAVA_HOME/bin/java -version bash: /bin/java: 没有那个 ...

  8. Java 编译,运行错误之 java.lang.UnsupportedClassVersionError: Bad version n umber in .class file

    这里使用的是 http://blog.csdn.net/oscar999/article/details/7305489 中的JDBCTest.java源文件 1. 在JDK1.6 中使用编译命令编译 ...

  9. Java 编译,运行错误之 java.lang.UnsupportedClassVersionError: Bad version n umber in .class file...

    这里使用的是 http://blog.csdn.net/oscar999/article/details/7305489 中的JDBCTest.java源文件 1. 在JDK1.6 中使用编译命令编译 ...

最新文章

  1. ksql 数量大于2_504深入解读路基土石方说明,路基填方数量组成?运距>15km咋办...
  2. R语言学习笔记(十一):广义线性模型
  3. DJANGO用户名认证一例
  4. 【做题记录】Codeforces做题记录
  5. C++ 模板(template) 的定义
  6. jenkins集成gitlab
  7. 安排计算机网络技术专业去电子厂专业对口吗,计算机网络技术专业好点的学校有哪些?...
  8. iOS NSString中字符串的删除,替换
  9. 【C/C++开发】【VS开发】win32位与x64位下各类型长度对比
  10. kali 安装grub theme
  11. 利用unlocker在VMware里解锁macOS操作系统
  12. 一个可以接到“为所欲为”的成语接龙生成器
  13. 知识蒸馏论文翻译(9)—— Multi-level Knowledge Distillation via Knowledge Alignment and Correlation
  14. 生育医疗费用出院结算流程
  15. 推荐5个好用的开源日志分析工具 (转载)
  16. python sys.path用法
  17. 详解调用TI的太阳能库(Solar Lib)
  18. 利用aotu.js实现微信自动添加通讯录中的联系人
  19. go hive skynet_hive,skynet以及go语言
  20. 利用教育网站源码进行网校平台搭建,如何留住学生用户?

热门文章

  1. 鼠标DPI和液晶显示器分辨率的关系
  2. MEMS振镜原理-李萨如图形Matlab仿真
  3. 现在计算机网络中广泛使用的交换技术
  4. 全球IT业最具影响力100人 中国仅1人
  5. 每日辣评:瑞幸股价破发;光开会不约稿;王卫为啥干不过马云
  6. 热成像、工业CCD与镜头选型资料整理
  7. 黑马视频第一节课笔记重敲
  8. 不是暴富,就想让自己变得值钱,有什么好方法?
  9. 2022.06.23短学期mini2智行小车学习——初识ROS
  10. 如何在公司审计中保持安全