JAVA项目——项目编译后的类路径和源码文件夹图解
前言:
一定要很清楚哪个是源码文件夹,哪个是类路径以及类路径的形成机制。
项目编译后不同的源码文件夹会被合并到bin目录下,形成类路径。不同的源码文件夹下的同名的包实际上是同一个包,因为编译后,包中的文件都在同一个文件夹下。
我的项目中有两个源码文件夹src和conf,如图:
编译后的项目文件夹,如图:
进入bin目录
观察:两个源码文件夹(src和conf)下的文件都被合并到了bin目录下,即类路径根目录,如图:
进入bin路径下的com/atguimybatis/dao文件夹
src和conf源码文件下都有com..dao包,如下图,进入bin目录发现只有一个com/atguimybatis/dao文件夹,再次证明编译后所有源码文件夹都会被合并为bin类路径下。
关键点在于不同的源码文件夹下的同名的包编译后实际上是同一个包。只是有时候项目大了为了方便查看,在写项目时,会分开保存,但编译后他们又到了同一个目录下,千万注意。
比如我的项目,src下com/atguimybatis/dao包中有两个java文件(如图左),conf下com/atguimybatis/dao中有一个xml文件(如图左),但bin目录中这三个文件被放在同一个文件夹下(如图右)。
总结:
项目编译后不同的源码文件夹会被合并到bin目录下,形成类路径。
不同的源码文件夹下的同名的包实际上是同一个包,因为编译后,包中的文件都在同一个文件夹下。