1. javac
- 找java类时,是ClassPath + package声明的路径,或 sourcepath + package声明的路径
- ClassPath 在命令中未指定时,先在系统环境变量classpath中找, classpath中未找到,则classpath 此时的值即运行javac命令时的目录路径
- ClassPath 在命令中通过 -cp 或 -classpath 指定时,则只会在指定的classpath 中找java类
- sourcepath 指源文件路径,classpath 指 .class 文件路径
- 未用package 声明的包,即默认包,从java 1.4 开始,无法import
- 若package 声明的包名与目录结构不一致,则会出现找不到目录或找到目录但类不匹配,所以package 声明的包名与目录结构必须一致
2. jar
- 若导入的类在jar 包里,则在编译和运行时都要通过classpath 指定jar 包的路径。运行时要在jar 包的路径前加 ".; "