在Web项目开发时,总会给某个资源前面添加classpath,这样的配置是让程序可以找到相应的资源,那么这个classpath具体指的是哪些目录呢?
-
在IDEA编译后会生成一个iml文件,此文件是记录IDEA配置的文件
其中的url配置的所有目录均是classespath,其下所有的文件在编译后会被放置在classes中总结:
这也是为何我们所有的配置文件基本都是放在resources中,因为该目录下的所有资源均会被防止在classes中,这样程序就可以快速寻找到配置了或默认配置了classpath的资源
拓展:
- spring boot的静态资源默认路径为:
- /META-INF/resources/
- /resources/
- /static/
- /public/
- Spring Boot相关源码如下
这也就解释为何能够在以上目录找到我们存放的静态资源,因为以上目录全是存放在classpath中的目录,所以全都存放在classespath目录中private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/" };