当前位置: 移动技术网 > IT编程>开发语言>Java > spring boot加载资源路径配置和classpath问题解决

spring boot加载资源路径配置和classpath问题解决

2019年07月19日  | 移动技术网IT编程  | 我要评论

1、spring boot默认加载文件的路径:

  1. /meta-inf/resources/
  2. /resources/
  3. /static/
  4. /public/

我们也可以从spring boot源码也可以看到:

private static final string[] classpath_resource_locations = { 
    "classpath:/meta-inf/resources/", 
    "classpath:/resources/", 
    "classpath:/static/", 
    "classpath:/public/" }; 

2、classpath含义

  1. 存放各种资源配置文件 eg.init.properties log4j.properties struts.xml
  2. 存放模板文件 eg.actionerror.ftl
  3. 存放class文件对应的是项目开发时的src目录编译文件

总结:这是一个定位资源的入口

一般java项目中 classpath存在与 web-info/目录。

当我们需要某个class时,系统会自动在classpath里面搜索,如果是jar,就自动从jar里面查找,如果是普通的目录,则在目录下面按照package进行查找。

但与path不同的是,默认的classpath是不包含当前目录的,这也是classpath里面要包含一个点的道理了。

tomcat下的web应用有两个预置的classpath : web-inf/classes 和web-inf/lib启动项目,项目就会加载这两个目录里的数据。这是war包的规范.要改变预置的classpath比较麻烦,在tomcat的配置文件里没有发现类似的配置,要实现自己的classloader才能达到目的。

一个在tomcat中运行的web应用.它的classpath都包括如下目录:

我知道的有:

  1. %tomcat%/lib
  2. web-inf/lib
  3. web-inf/classes

环境变量里的classpath

总结:classpath这是一个定位资源的入口.classpath下 lib的优先级大于classes;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网