问题:
在C:\1000目录下创建四个java源文件,如下图:

其中Test.java是主类源文件,
PC.java的类PC组合了CPU.java中的类CPU和HardDisk.java中的类HardDisk。
Test.java的类Test组合了CPU.java中的类CPU,HardDisk.java中的类HardDisk和PC.java中的类PC。
直接编译Test.java:

试着编译PC.java:

明明都在同一目录下,为什么还提示找不到组合的类呢?
原因:
java只认classpath(大小写不敏感)环境变量,而不认当前目录。
解决方法:
在系统环境变量classpath的变量值中添加 . 即可。
未添加前:

添加后:

(注意:使用添加前打开的命令行仍是编译不通过,所以记得关闭重启命令行再编译)
效果:

本文解答了在C盘指定目录下创建Java源文件时,编译主类Test.java遇到找不到组合类的问题。深入解析原因在于Java仅识别classpath环境变量而非当前目录,并提供了解决方案:在系统环境变量classpath中添加'.'来包含当前目录。
278

被折叠的 条评论
为什么被折叠?



