springboot加载资源路径配置和classpath问题解决
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/" };
log4j与log4j22、Classpath含义
1. 存放各种资源配置⽂件 eg.init.properties log4j.l
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;
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。