1、可能是你的项目的Java Build Path中的Libraries中有个jar包的Source attachment指为了一个不可用的jar包。
2、jdk1.8不需要配置环境变量classpath
3、以下原理理解了你就可以自行解决上述错误。
(1)cmd运行java文件,请把文件里的第一行"package A;"注释掉;
假设:Hello.java位于C:/work/ppp/A下
在工作目录"C:/work/ppp/A" 下输入:
javac Hello.java
java Hello
则 编译运行成功。
(2)若在java文件中加上了package A;则在工作目录"C:/work/ppp/A"下输入:
javac Hello.java
java -cp .(此处为文件路径) A.Hello
解释:-cp 为一个选项,也可写为-classpath
.表示当前目录"C:/work/ppp/A"
表示分隔符
(此处为文件路径) 在本例中为"C:/work/ppp"
A.Hello:因为java文件里第一行有"package A",所以此处必须为A.Hello
显然,在当前目录"C:/work/ppp/A"中找不到A.Hello,在"C:/work/ppp"中找到了A.Hello,所以上述两行将编译执行成功。
在没有错误地配置CLASSPATH环境变量的前提下。没有使用 -classpath / -cp 指定CLASSPATH时;运行时默认把当前路径设为CLASSPATH
现在安装JDK,根本不需要设置CLASSPATH环境变量。因为最初的JDK自己找不到tools.jar等几个文件,才需要设置。现在已经没有这个问题了。