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包同級
}