![](/img/trans.png)
[英]What is the difference between “classpath:” and “classpath:/” in Spring XML?
[英]what's the difference between classpath and classpath* in spring boot?
當我使用spring boot banner配置文件時,我發現:
spring.banner.location = classpath:banner.txt
spring.banner.location = classpath *:banner.txt
那么classpath:和classpath *:有什么區別?
從Spring文檔
通配符類路徑依賴於基礎類加載器的getResources()方法。 由於當今大多數應用程序服務器都提供了自己的類加載器實現,因此行為可能有所不同,尤其是在處理jar文件時。 檢查classpath *是否有效的一個簡單測試是使用classloader從classpath的jar中加載文件:getClass()。getClassLoader()。getResources(“”)。 嘗試對具有相同名稱但位於兩個不同位置的文件進行此測試。 如果返回了不合適的結果,請檢查應用程序服務器文檔中可能會影響類加載器行為的設置。
因此,classPath是用於從當前類加載器加載資源的(僅為了理解,它不會在jar或其他項目依賴項下讀取資源)
classpath *將執行jar或其他類加載器資源。
自從Spring boot在源代碼中顯示標題之后,您可以在SpringApplication.class中找到代碼,使用printBanner方法顯示標題。例如mallikarjun表示classPath用於從當前類加載器加載資源(為理解起見,不會讀取資源) jar或其他項目依賴項)classpath *將執行jar或其他類加載器資源。 如果使用classpath *:banner.txt,則會在jar中找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.