Java中获取类加载路径和项目根路径

发布时间 2023-09-21 15:31:45作者: 迷途小石头


public class Test {
    public static void main(String[] args) {
        // LIVE TEMPLATE psvm+Tab键  sout
        Test test = new Test();
        try {
            test.showURL();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void showURL() throws IOException {

        // 第一种:获取类加载的根路径  D:\IdeaProjects\cdby_wan\WebRoot\WEB-INF\classes
        File f = new File(this.getClass().getResource("/").getPath());
        System.out.println(f);

        // 获取当前类的所在工程路径; 如果不加“/”获取当前类的加载目录  D:\IdeaProjects\cdby_wan\WebRoot\WEB-INF\classes\test\com
        File f2 = new File(this.getClass().getResource("").getPath());
        System.out.println(f2);

        // 第二种:获取项目路径 D:\IdeaProjects\cdby_wan
        File directory = new File("");// 参数为空
        String courseFile = directory.getCanonicalPath(); // Tomcat环境中运行,会获取Tomcat安装目录的bin目录,不推荐使用
        System.out.println(courseFile);

        // 第三种: file:/D:/IdeaProjects/cdby_wan/WebRoot/WEB-INF/classes/
        URL xmlpath = this.getClass().getClassLoader().getResource("");
        System.out.println(xmlpath);


        // 第四种: D:\IdeaProjects\cdby_wan
        System.out.println(System.getProperty("user.dir"));
         /*
          * 结果: C:\Documents and Settings\Administrator\workspace\projectName
          * 获取当前工程路径
          */

        // 第五种:  获取所有的类路径 包括jar包的路径
        System.out.println(System.getProperty("java.class.path"));
    }
}

 

Java中获取类加载路径和项目根路径