springboot在不同系統OS版本之間類加載路徑

 

 

ResourceUtils.getURL("classpath:").getPath()實爲: target->classes (類加載路徑)
Windows環境:target->classes (類加載路徑)
Linux環境:{你的jar包位置}\BOOT-INF\classes

所以系統版本有些差別

Linux 獲得xxx.jar 包同級下的路徑:直接new File("")即可

 

  • 下面三者獲取的路徑:target-->classes(Windows)
ClassUtils.getDefaultClassLoader().getResource("");
this.getClass().getClassLoader().getResource("");
ResourceUtils.getURL("classpath:");

 

 

以下是一段參考代碼:

     // 開發環境根目錄
        File rootFile = new File(ResourceUtils.getURL("classpath:").getPath());
        log.info("rooFile:{}",rootFile.getAbsolutePath());
        if (!rootFile.exists()) {
            rootFile = new File("");  //Linux環境下的根目錄.和xxx.jar包同級
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章