JAVA获取程序(打成jar或classpath)所在目录
JAVA获取程序(打成jar或classpath)所在目录
一、简述
JAVA获取程序(打成jar或classpath)所在目录。
二、代码
package dearcloud.utils.context;
import dearcloud.utils.StringUtils;
import java.io.File;
public class AppContext {
public static String baseDirectory() {
try {
String path = ClassLoader.getSystemResource("").getPath();
if (StringUtils.isNullOrEmpty(path))
return getProjectPath();
return path;
} catch (Exception ignored) {
}
return getProjectPath();
}
private static String getProjectPath() {
java.net.URL url = AppContext.class.getProtectionDomain().getCodeSource()
.getLocation();
String filePath = null;
try {
filePath = java.net.URLDecoder.decode(url.getPath(), "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
if (filePath.endsWith(".jar"))
filePath = filePath.substring(0, filePath.lastIndexOf(File.separatorChar) + 1);
java.io.File file = new java.io.File(filePath);
filePath = file.getAbsolutePath();
return filePath;
}
}
JAVA获取程序(打成jar或classpath)所在目录
https://www.dearcloud.cn/2019/01/09/20200310-cnblogs-old-posts/20190109-JAVA获取程序打成jar或classpath所在目录/