关于ClassPath的奇怪问题
acai 2003-11-16 03:19:32 我机器上java的设置都很正常,编译、运行都很正常,机器上同时装了jb和eclipse,现在发现了一个问题:
假如我在D:\Test\com\study下放了自己的文件,如MyClass,根据目录都放在com.study包下(MyClass.java的头写上了 package com.study),编译好后,在ClassPath里加上了D:\Test,然后我在E盘根目录下写了个测试文件E:\Hello.java, 里面导入了com.study这个包来做测试,import com.study.MyClass;然后我在命令行下: D:\>javac Hello.java 结果说找不到包com.study ??不是说在classpath里设置好后就可以吗??
包文件、目录:
D:\Test\com\study\MyClass.java
Classpath已加上:D:\Test; classpath最前面也加“.;”了,设置应该是正确的,因为我平时编译、测试都很正常;
测试文件在:
E:\Hello.java
后来我把Hello.java放到D:\Test下,我想这下是相同的目录,应该可以了吧?
编译: D:\>Test javac Hello.java 正常
运行: D:\>Test java Hello 也正常了
然后,奇怪的事情发生了!!!
我再一次的把E:\Hello.java(注意,是包外面的那个)编译,也正常了!!运行,也正常!!然后,我把D:\Test下面的那两个Hello.java,Hello.class都删掉,再一次编译
E:\Hello.java,正常!!运行,正常!!!!
到底是怎么回事???为什么开始不行,当我把文件放到和包文件相同的目录下编译后,其他地方导入这个包的编译也行了??