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

之前在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 !   期待明天更好的自己!

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

时间: 2024-10-28 16:21:42

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

python实现指定目录下JAVA文件单词计数的多进程版本

要说明的是, 串行版本足够快了, 在我的酷睿双核 debian7.6 下运行只要 0.2s , 简直是难以超越. 多进程版本难以避免大量的进程创建和数据同步与传输开销, 性能反而不如串行版本, 只能作为学习的示例了. 以后再优化吧. #------------------------------------------------------------------------------- # Name: wordstat_multiprocessing.py # Purpose: stati

ant 执行java文件,java文件中含中文,显示乱码

在build.xml文件run target下添加下面一行 <sysproperty key="file.encoding" value="UTF-8" />

如何使用命令行编译以及运行java文件

要想编译和运行java文件,很简单,只需要两个命令: (1) javac:作用:编译java文件:使用方法: javac Hello.java ,如果不出错的话,在与Hello.java 同一目录下会生成一个Hello.class文件,这个class文件是操作系统能够使用和运行的文件. (2)java: 作用:运行.class文件:使用方法:java Hello,如果不出错的话,会执行Hello.class文件.注意:这里的Hello后面不需要扩展名. 下面举例说明: 假设我有一个Hello.j

如何在命令提示符下编译运行含有Package的java文件

这篇是大二自学Java的时候记下的笔记,中午回顾印象笔记的时候意外看到了这篇.看到多年前写下的文字,我想起那时候我对Java的懵懵懂懂,每天晚上在图书馆照着书写书上的示例代码,为一个中文分号绞尽脑汁,为命令提示符上打印出的图案而兴奋.到现在我依然觉得,一个从没有过编程经验的人在屏幕上打印出Hello World 的时候,他真的感觉是对一个全新的世界说了句"你好,我来了". 尽管现在来看那时候遇到的问题现在看来真的是很简单,甚至可以说是很蠢的,但我依然感激当初那个再图书馆写代码的自己.正

【二】命令行编译Java文件

①运行→cmd→ ②常用指令:进入E盘是“e:”回车 打开文件夹是“cd 文件夹名”比如“cd work” “dir”是看当前文件夹下面的文件 编译java文件的命令是“javac XXXO.java”,会生成一个class文件, 执行class文件命令式“java XXXO”(无需后缀名) ③Java对大小写敏感,java文件名需和里面的类名一致 ④hello word代码: public class hello{ public static void main(String args [])

android-将.java文件转换为jar包(八)

今天碰到将C++封装的接口转换为java代码,生成的java文件是.java的,需要将其打包为jar的库文件. 一.新建java工程,将所有的.java文件拷贝到新建package下 二.将其导出为jar包 一步步向导就可完成.

Java基础——第一个记事本代码与Java注释

一 .使用记事本编辑java文件: 1.打开记事本,重命名文件名,文件拓展名“.java”.(必须要的,系统才能识别java文件) 2.编写一个简单的java代码: public class HelloWorld{ public static void main(String[] args){ System.out.println("HelloWorld"); } } 另:记事本文件名应必须与class 后面的类名“HelloWorld”相同,否则编译不到.  3.打开命令提示符,wi

【Java】Eclipse新建的Java文件自动生成主函数、控制台输出行数不再受限制

一.新建的Java文件自动生成主函数 虽然只是一个很简单的事情,但应该还是有人不知道了,每次新建Java文件都要手动输入public static void main(String args[]){},非常麻烦,其实Eclipse可以自动生成这行,只是大多数的Java文件都是没有主函数的,所以这行默认关闭, 右击Java项目下的src可以选择New->Class也就可以新建类 然后在弹出的对话框上勾上自动产生主函数,点击确认,在生产的Java文件中就有主函数了 二.Eclipse控制台输出行数不

如何使用命令行编译和运行java文件

相信大家现在一般都在使用IDE环境来开发运行java文件,但我觉得可以在命令行里面简单运行java文件,技多不压身. 接下来我来说一下编译和运行java文件: 第一步,首先下一个入门程序(注意:一定要将程序里面的类名跟保存的文件名称写成一样) 第二步,进入到java文件保存的目录(注意:必须要进入到保存的目录,否则运行会出错) 第四步使用javac HelloWorld.java编译源程序会生成一个.class的中间代码 第五步使用java HelloWorld运行程序(注意java后面的程序结