java10安装后,无法运行hello world
今天开始学习java,准备把我碰到的问题都记录下来,遂准备在这里开个博客好了,自己给自己留个爪印吧。
碰到的第一个问题,jdk10.0.2安装以后,连最简单的hello world都成问题,研究了三天,终于搞好了。
-
提示错误
找不到或无法加载主类HelloWorld.Text
原因:java.lang.ClassNotFound Exception:HelloWorld.Text -
安装报错
-
*解决方法
把jdk换成9.0.1,就解决了。 -
原因
现有的Eclipse-java-oxygen-1a-win32-x86_64这个版本,还识别不了jdk10。 -
有效的配置
在网上试验了很多人的方案,以下这个方案是最有效的:
CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib;
不要dt.jar和tools.jar,因为jdk9.0.1以后的版本已经不需要了。
JAVA_HOME
C:\Program Files\Java\jdk-9.0.1
JRE_HOME
C:\Program Files\Java\jre-9.0.1
PATH
增加了;.;%JAVA_HOME%\bin;%JRE_HOME%bin;
by the way,前面分号不能少,因为算是分隔符,中间半角的.不能少。
-
网传的各种解决途径
我把之前试验过的种种方案,拿出来做个对比:
1.网上说的两个选择目录的问题,要求前一个写jdk,后一个写jre。
C:\Program Files\Java\jdk-10.0.2
C:\Program Files\Java\jre-10.0.2
而这两个是默认目录,经检验,是没有问题的,无需更改。
2.网上说,应该先装jre,再装jdk,原因是jre后装的时候,把jdk当中的lib文件夹内容替换了。
我特地又去oracle的网站上又下载了jre10.0.2,按照网传的要求,先装jre,再装jdk,发现问题依然存在。
3.网上说,无法运行的原因是,缺少dt.jar和tools.jar。
我特地又去csdn搜了一个dt.jar和tools.jar,复制到我的jdk文件夹下的lib当中,仍然无法运行,估计原因是和jdk10.0.2无法匹配。
4.网传,java文件里的public类名必须是HelloWorld,必须和源文件名相同,不带后缀名。
我仔细检查了好久,都是按照最原始的教程一步一步来的,完全正确,所以,经判断,不是这个问题。
5.网传配置不正确,也是无法正确运行的,网上有诸如此类的配置如下:
CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
JAVA_HOME
C:\Program Files\Java\jdk-10.0.2
JRE_HOME
C:\Program Files\Java\jre-10.0.2
PATH
增加了;%JAVA_HOME%\bin;%JRE_HOME%\bin
压根无法正确运行,在C:\Program Files\Java\jdk-10.0.2\lib这个目录下,死活无法找到dt.jar和tools.jar。
因为我发现从9.0.1开始,jdk里面已经不需要这两个jar文件了……而网上的答案中居然没有人写。所以现在的CLASSPATH其实很简略:
.;%JAVA_HOME%\lib;%JRE_HOME%\lib;
这样就对了。
最后终于看到了久违的Hello World!开心!