码迷,mamicode.com
首页 > 编程语言 > 详细

控制台运行第一个记事本Java文件出错 / Java和Javac版本不同问题

时间:2019-02-10 23:28:51      阅读:2206      评论:0      收藏:0      [点我收藏+]

标签:java.net   pat   port   命名   ati   occurred   auto   ons   one   

 

    之前在mooc平台上接触过Java,当时直接跟着老师装上Java和eclipse在eclipse上写代码,过程很顺利。现在想从头扎扎实实地系统学习Java,老师演示了用记事本写Java程序并通过控制台运行,没想到我的第一个输出程序就这样翻车了。。。

    记事本中输入:

技术图片

    命名为Welcome.java   ,保存在D:/myjavacode  文件夹中

    控制台中输入指令:


技术图片

     虽然中间由于;写成汉语分号,报了次错,改正之后成功地将源代码编译成字节码文件,后缀名为.class

     但用Java虚拟机解释执行字解码文件时,出现报错,搞了大半小时才搞好。。。报错如下:


技术图片

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Welcome has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

 

    报错中一句话:Welcome has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

    由此推测可能是安装版本的问题,在网上搜了下相关问题,在控制台查了果然Java和Javac的版本不同,这就是问题所在!

技术图片

    之前电脑安装过Java和eclipse,之前安装过JRE,而JDK包含JRE,这就导致两次安装的JDK不同!运行java命令时,从系统变量path 前面开始找,找到了就不会往后面找了,因此系统变量Path中配置的java.exe和javac.exe不同。

    结论:解决版本不一致方法:把path 里的  %JAVA_HOME%\bin;  放到最前面即可。

技术图片
   然后重启控制台输入指令,成功运行!(一定要重启控制台!)

技术图片 

 

2019-02-10    22:39:30    房廷飞             Come on !   期待明天更好的自己!

 

控制台运行第一个记事本Java文件出错 / Java和Javac版本不同问题

标签:java.net   pat   port   命名   ati   occurred   auto   ons   one   

原文地址:https://www.cnblogs.com/fangtingfei/p/10360554.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!