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