一个类组合了其他类时,明明相应的源文件都在一个目录里,却编译报错提示找不到组合的类(java,命令行)
问题:
在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的变量值中添加 . 即可。
未添加前:
添加后:
(注意:使用添加前打开的命令行仍是编译不通过,所以记得关闭重启命令行再编译)
效果: