提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
1.classpath含义
classpath是编译之后项目的路径,而不是对源代码的路径描述。但是它与源代码的路径是相互对应的。
2.package打包和build之间的关系
-
build命令和package命令都不会把项目中使用的第三方jar包一起打进去。
-
build命令将项目编译,把main/java目录下的源代码、main/resource下的静态资源一起打包到target/classes目录。
即以下目录对应:
这里的target/classes目录和jar包根路径都属于classpath(根路径)
-
package打包和build构建都会在根路径下创建META-INF文件夹,如果在resource文件夹中再创建一个META-INF文件夹,并在该文件夹中建立其他的静态资源,这些自己创建的静态资源在打包或构建时也会一起打包到classpath:/META-INF文件夹下。
3.引用一般的jar包内的类
导入类“import org.xxx.xxx”,这段代码表示到“classpath:/org.xxx.xxx”目录下去找这个类。
4.对扩展资源webjars文件夹下的静态资源引用的问题
官方的jar包:是将jQuery.js文件放到resources/META-INF/resources/webjars/中,然后将项目打包并发布,就得到我们需要的jar包。
使用官方的jar包:引用jquery只需要引用META-INF/resources/xxx,即去classpath:/META-INF/ resouces/…目录下去找jQuery.js文件。
因此,实际上所有External Libraries中的jar包也属于classpath根路径。(以jQuery为例)
5.spring boot检索资源
SpringBoot检索资源时,“/”就代表了从根路径搜索,范围包括:main/java、main/resources、第三方jar包的根目录。