用cmd运行记事本写的java文件,以及jdk版本和运行版本不一致原因及其解决办法

1.首先新建一个记事本,文件名改为Welcome.java拓展名也要改!(属性里面改为显示拓展名,这样才可以通过重命名的方式改文件个格式)

public class Welcome{
	public static void main(String[] args){
		System.out.println("江芳芳加油!!");
	}
}

2.打开cmd的窗口,输入以下命令:

C:\Users\Administrator>d://打开d盘(java文件的路径为D:\myJava

D:\>cd myJava             //进入myJava文件夹

D:\myJava>javac Welcome.java    //进行编译,这时候会生成Welcome.class文件夹

D:\myJava>java Welcome//运行java文件

但是!!我居然遇到了这种错误~~很丧,别人都是一次就成功的,那那那,让我们一起解决这个问题吧!

因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误
Exception in thread "main" java.lang.UnsupportedClassVersionError: Welcome : 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)
        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)

2.jdk版本和运行版本不一致原因及其解决办法

2.1错误原因——PATH路径顺序

输入cmd命令 java -version显示最新版本的java

输入cmd命令 javac -version 显示配置环境变量版本的java

D:\myJava>java -version//查看jdk版本
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

D:\myJava>javac -version
javac 1.8.0_112

也就是说由于jdk版本和运行环境的版本不一致,会导致class文件不能运行

可是你的配置环境都是按教程来的,没有什么问题。

我花了很长的时间,翻了无数的资料最终得出原因:

可能是因为机器有两个版本,window\system\下的javac.exe版本过低,
根据环境变量设置的Path,由于%JAVA_HOME%\bin;设置在后面,
而%SystemRoot%\system32;设置在前面,所以先找到的是system目录下的低版本,
改动后将%JAVA_HOME%\bin;提到最前面即可。

2.2解决办法——将%JAVA_HOME%放在Path的头部

我们再通过cmd语句来查看两个版本,这时会惊奇的发现,居然一样了!!!哈哈哈哈哈开心到炸裂~~~

D:\myJava>java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)

D:\myJava>javac -version
javac 1.8.0_112

这时候呢再次运行我们的java文件

C:\Users\Administrator>d:

D:\>cd myJava

D:\myJava>java Welcome
江芳芳加油!!

完结!!!继续走!我们一起加油!!

猜你喜欢

转载自blog.csdn.net/jfwzy109127/article/details/83817429
今日推荐