之前用Myeclipse编译运行Java没有问题

但是突然想用简单点的NotePad++以及cmd直接编译运行Java

这就让我倒腾了一晚上

先说下问题的解决,再总结下查阅的一些知识。

1.进行win8下Java环境变量配置,在"系统变量"下进行如下配置:

(1)新建->变量名:JAVA_HOME变量值:C:\Program Files\Java\jdk1.8.0_05(这只是我的JDK安装路径)

(2)编辑->变量名:Path在变量值的后面加上:;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin;

(3)新建->变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar(注意最前面有个".")

2.测试下环境变量是否设置成功:按“WIN”键+R”键,分别输入java,javac,java -version 命令

问题1:‘javac’不是内部命令或外部命令,也不是可运行的程序或批处理。

解决:ClASSPATH中,当前目录“.”也必须加入到该变量中。"classpath",该变量的含义为java加载类(bin or lib)的路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的,因此不能忘了"."。

注:如果将环境变量修改好了之后,仍出现上述问题,那么可能是cmd更新不一致的问题,在别处看到关闭Cmd窗口,重新打开就好了,但是我是再重启一次电脑之后才好~~

问题2:解决了问题1之后,对与HelloWord.java 输入javac HelloWorld之后出现 UnsupportedClassVersionError 错误:

HelloWorld Exception in thread "main" java.lang.UnsupportedClassVersionError:

HelloWorld : Unsupported major .minor version 52.0

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

。。。。

这个很明显是一个版本不支持的问题,经过搜索发现问题所在:

出现java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误。

因为,高版本的JDK生成的class文件使用的格式,可能与低版本的JDK的.class文件格式不同。这样,低版本的JVM无法解释执行这个.class文件,会抛出java.lang.UnsupportedClassVersionError不支持的Class版本错误。

分别输入java -version 和javac -version

果然,java版本是1.7而javac版本是1.8(o(╯□╰)o但是我的JDK明明是1.8的哇~~~~)

后面的搜索问题变成了,如何解决版本不一致问题:

在注册表中修改:HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment 改为1.8

再次运行java -version

给跪了哇~~~至此终于搞定~~~~

有些原理的问题暂且还不懂

待以后开发~~~~!!!

总结几个知识点吧~~

JDK、JRE有什么区别:

Jre   是java   runtime   environment的缩写,   是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦, 还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢?  Java\jdk\ jre\bin\client里面是不是有一个jvm.dll呢?那就是虚拟机。

Jdk   是java   development   kit,是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个Jre--------Java\jre.  那么为什么要包括另外一个Jre呢?而且jdk\jre\bin同时有client和server两个文件夹下都包含一个jvm.dll。   说明是有两个虚拟机的。

Java\jdk\bin这个bin下有各种java程序需要用到的命令,与Java\jdk\jre\bin或者Java\jre\bin的bin目录最明显的区别就是Java\jdk\bin下才有javac.exe,这一点很好理解,因为 jre只是一个运行环境而已。与开发无关,正因为如此,具备开发功能的jdk自己的jre下才会同时有client性质的jvm和server性质的 jvm, 而仅仅作为运行环境的jre下只需要client性质的jvm.dll就够了。

我们用的java命令并不是 Java\jdk\bin目录下的而是Java\jdk\jre\bin目录下的。不信可以做一个实验,大家可以把Java\jdk\bin目录下的java.exe剪切到别的地方再运行 java程序,发现了什么?一切OK!

如果java为了提供给大多数人使用,他们是不需要jdk做开发的,只需要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊?

所以安装jre的时候安装程序自动帮你把jre的java.exe添加到了系统变量中,因此去C:\Windows\system32下面去看看吧,发现有一个java.exe。

Java环境变量配置&解决版本不一致问题的更多相关文章

  1. win10配置java环境变量,解决javac不是内部或外部命令等问题

    win10配置java环境变量,解决javac不是内部或外部命令等问题 https://www.cnblogs.com/qianji/p/6402690.html

  2. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  3. Windows 10 Java环境变量配置

    Win10下 Java环境变量配置 首先,你应该已经安装了 Java 的 JDK 了(如果没有安装JDK,请跳转到此网址:http://www.oracle.com/technetwork/java/ ...

  4. java环境变量配置(转)

    java环境变量配置 windows xp下配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08: 2.安装完成后,右 ...

  5. java环境变量配置四种方法

    原文:java环境变量配置四种方法 Java编程首要工作就是安装JDK(Java Development Kit).一通“NEXT”点完安装后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变 ...

  6. JAVA环境变量配置详解(Windows)

    JAVA环境变量配置详解(Windows)   JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解  Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLA ...

  7. win10 java环境变量配置

    首先,你应该已经安装了 Java 的 JDK 了(如果没有安装JDK,请跳转到此网址:http://www.oracle.com/technetwork/java/javase/downloads/i ...

  8. java环境变量配置备忘录

    用鼠标右击“我的电脑”->属性->高级->环境变量系统变量->新建->变量名:JAVA_HOME 变量值:D:\Program Files\Java\jdk1.6.0_1 ...

  9. Java环境变量配置教程

    Windows 10  Java环境变量配置教程 目前Windows 10系统已经很成熟,大多数人开发都在Windows 10系统下进行开发,于是乎我做一下Java环境变量在Windows 10配下的 ...

随机推荐

  1. [洛谷U990]传递游戏(90分)

    [题目描述 Description] n个人在做传递物品的游戏,编号为1-n. 游戏规则是这样的:开始时物品可以在任意一人手上,他可把物品传递给其他人中的任意一位:下一个人可以传递给未接过物品的任意一 ...

  2. Bzoj 1976: [BeiJing2010组队]能量魔方 Cube 最小割,最大流

    1976: [BeiJing2010组队]能量魔方 Cube Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 879  Solved: 304[Submi ...

  3. show drop down menu within/from action bar

    show drop down menu within/from action bar */--> pre { background-color: #2f4f4f;line-height: 1.6 ...

  4. String类、 StringBuffer、基本数据类型对象包装类

    一.概述 Sting s1 = "abc";    //s1是一个类类型变量,"abc"是一个对象. String s2 = new String(" ...

  5. IntelliJ IDEA 配置Jetty

    jetty是google app engine 在大量使用的一款服务器软件,不过当然目前还撼动不了tomcat的地位,但是jetty相当轻量级,可以自己灵活定制 资源占用少 ,所以还是有吸引力的,接下 ...

  6. VM下的linux系统上不了网?? 使用putty远程登录不上linux的解决方法?

    背景:昨晚想尝试一下用putty远程登录我的linux系统,悲剧的是,我竟然连接不上,显示 connection refused   ,连接被拒绝.于是我就想看看能不能在linux下看看能不能访问百度 ...

  7. Solr配置与简单Demo[转]

    Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...

  8. android开发之gridlayout使用入门

    这个东东以前没怎么用过,今天研究了一下,不难,感觉只是在某些方面很好用. 记录下,做个计算器. <GridLayout xmlns:android="http://schemas.an ...

  9. MY_FAVOR_火埃及

  10. ubuntu 12.04 编译安装 nginx

    下载源码包 nginx 地址:http://nginx.org/en/download.html 编译前先安装两个包: 直接编译安装会碰到缺少pcre等问题,这时候只要到再安装两个包就ok sudo ...