springboot 獲取jar包所在目錄
/**
* 如果已打成jar包,則返回jar包所在目錄
* 如果未打成jar,則返回target所在目錄
* @return
*/
public static String getRootPath() throws UnsupportedEncodingException {
// 項目的編譯文件的根目錄
String path = URLDecoder.decode(PathUtil.class.getResource("/").getPath(), String.valueOf(StandardCharsets.UTF_8));
if (path.startsWith("file:")) {
int i = path.indexOf(".jar!");
path = path.substring(0, i);
path = path.replaceFirst("file:", "");
}
// 項目所在的目錄
return new File(path).getParentFile().getAbsolutePath();
}