class-path/项目路劲和浏览器请求的路径不一样的原因?

classpath不是idea中看到的任何一个目录,而是源码编译后的class文件和所有配置文件(按照他们原来在项目中的结构打包为war包下的classes目录),加上webapp目录,加上依赖的jar包包括配置文件(任何一个独立的模块被打包时无论是被打包成jar还是war会将该模块内的配置文件按项目中的源码和配置文件目录结构一起打包)(打包成war包下的lib目录),打成的war包(在webapp的结构基础上增加了classes和lib)解压后生成的WEB-INF下的classes和lib目录。(当然还可以自己定义些别的classpath,但不会相互覆盖,WEB-INF下的classes和lib这两个classpath还在。)




不同模块之间不用pom依赖的时候相互之间独立,各自有各自的classpath。有依赖的话会把依赖的模块包括配置文件打成jar依赖进来。但由于classes和lib都是classpath,如果有依赖关系的module比如同一项目中webapp模块依赖了service模块,但配置文件的名称一样,路径也一样,都是在各自的config文件夹下。那这个时候读取根据classpath读取该配置文件会不会有冲突?系统怎么区分读取的是哪一个?

pom中依赖的模块被打成的jar解压后见下面两幅图:





猜你喜欢

转载自blog.csdn.net/u010287873/article/details/80776090
今日推荐