比如这样子的一段代码,写在Hello.java当中
package lee; public class Hello{ public static void main(String[] args){ //...... } }
cmd下:所有命令都是在在Hello.java的路径下
- javac -d . Hello.java
这条命令将会生成一个lee文件夹,里面有Hello.class,但是如果你只是执行javac Hello.java,则不会生成lee文件夹
- java lee.Hello
执行java Hello则会报错,因为在当前路径下根本就不存在Hello.java
虚拟机装载lee.Hello类时,会去搜索CLASSPATH环境变量指定的路径,查看这些路径之下是否包含了lee路径,然后在lee路径下再去找Hello.clas文件。jdk1.5以后已经不需要再自己手动去配置CLASSPATH了