由于需要,可能在Windows 上安装多个JAVA JDK版本,当运行与jdk版本不匹配的内容时会出现如下错误信息:
F:\>java F:\File\JAVAProject\sockets\src\sockets.java
错误: 找不到或无法加载主类 F:\File\JAVAProject\sockets\src\sockets.java
或者
eption in thread "main" java.lang.UnsupportedClassVersionError: sockets has
出现以上错误的原因是因为java与javac的版本不一致,或者当前代码不支持较老旧的版本,查看详细如下
java -version 命令获取Java SE版本 即JDK版本
java filename 运行使用javac编译的.class文件
F:\>java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
javac -version 显示JRE版本
javac filename.java 编译目标java文件 主要用于生成对应的.class文件
F:\>javac -version
javac 11.0.2
以上信息显示:JDK为1.8 JRE为11.0.2
当以上内容不一致时,可以进入对应JDK版本所在的文件夹 然后执行对应的命令,例如,我的JDK11.0在
F:\Software\JAVA\Java\jdk-11.0.2
在CMD中进入该文件夹,然后执行 java -version , 结果为:
F:\Software\JAVA\Java\jdk-11.0.2\bin>java -version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
此时JRE与JDK的版本一致 ,便可以正常编译和运行java程序
F:\Software\JAVA\Java\jdk-11.0.2\bin>java F:\File\JAVAProject\sockets\src\sockets.java
Server:hello every one ,0 is Online now
hello ,your name is :0
成功。