获取指定项目名称路径

1. 部署打包名称 api.jar

2. 同时兼容开发环境与部署环境

3. 启动项目时 可能在任意路径启动jar包

String classPath = ClassUtils.getDefaultClassLoader().getResource("").getPath();
    //处理classPath
String path = getProjectPath(classPath);

方法

/**
 * 解析class 路径
 * @param classPath
 * @return
 */
private static String getProjectPath(String classPath) {
    String path = null;
    //windows系统
    if (classPath.startsWith("/")) {
        if (classPath.contains("api.jar")) {
            path = classPath.substring(1,classPath.lastIndexOf("api.jar"));
        } else {
            //开发环境
            path = System.getProperty("user.dir").replaceAll("\\\\", "/");
        }
    }
    //linux
    if (classPath.startsWith("file:")) {
        if (classPath.contains("api.jar")) {
            path = classPath.substring(5,classPath.lastIndexOf("api.jar"));
        } else {
            //开发环境
            path = System.getProperty("user.dir").replaceAll("\\\\", "/");
        }
    }
    return path;
}

你可能感兴趣的:(java-工具类,java,java,jar)