前言
重要:关于编译运行的 包路径 问题。
javac 编译,和java 运行时。会自动加载(寻找)指令命令所在的目录(包含)下的需要的文件。
-cp -classpath -sourcepath 会把其他目录的文件 加载到当前命令的根目录,比如当前根目录为/data/java ,我再当前目录执行 javac -sourcepath /data/test A.java ,则会把test目录下面的子目录(文件)结构映射到当前的/data/java下。
他们加载的时候会以当前命令路径作为根路径比如 /data/java(命令执行的根路径这一点很重要) 。
对于要编译的文件会去检查import 的路径如 import com.lhy.User 是否存在(即/data/java/com/lhy/User.xx)。
对于编译需要依赖的文件中的代码 会去检查 import 的路径如 impor