1.-classpath/-cp:指定类搜索路径
①编译源文件时,javac会搜索源文件中的import …和package …所指定的包。
②搜索①中指定的包时,依次载入(1)引导类,(2)扩展类,(3)用户类。其中(1)与(2)会自动到jdk目录下加载,无需另外指定路径。关于(1)与(2)的加载路径,由于jdk1.8与jdk12的目录结构有些差别,还未有定论。
③搜索②(3)时,当前目录会加入类搜索路径。例如搜索包com.smart.dao
(1)未指定-classpath且当前目录=src/com时,搜索失败
(2)未指定-classpath且当前目录=src时,搜索成功
④可使用-cp指定除当前目录以外的类搜索路径。例如在③(1)中指定-cp=..时,搜索成功。
⑤类搜索路径中同时存在xxx.java和xxx.class时,优先使用xxx.class。
⑥可用-sourcepath指定源文件搜索路径。同时指定-cp和-sourcepath时,-cp只检索.class文件,-sourcepath只检索.java文件。
2.-d:生成的class文件的存放位置
参考:
https://blog.youkuaiyun.com/u011382381/article/details/54563430
https://blog.youkuaiyun.com/hughgilbert/article/details/53642338