1、spring boot默認加載文件的路徑:
我們也可以從spring boot源碼也可以看到:
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/" };2、Classpath含義
總結:這是一個定位資源的入口
一般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都包括如下目錄:
我知道的有:
環境變量裡的classpath
總結:classpath這是一個定位資源的入口.classpath下lib的優先級大於classes;
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。