java中获取类加载路径和项目根路径的5种方式分析
作者:互联网
2025-08-17
复制代码代码如下:
package my;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class MyUrlDemo {
public static void main(String[] args) {
MyUrlDemo muDemo = new MyUrlDemo();
try {
muDemo.showURL();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void showURL() throws IOException {
// 第一种:获取类加载的根路径 D:/git/daotie/daotie/target/classes
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
// 获取当前类的所在工程路径; 如果不加“/” 获取当前类的加载目录 D:/git/daotie/daotie/target/classes/my
File f2 = new File(this.getClass().getResource("").getPath());
System.out.println(f2);
// 第二种:获取项目路径 D:/git/daotie/daotie
File directory = new File("");// 参数为空
String courseFile = directory.getCanonicalPath();
System.out.println(courseFile);
// 第三种: file:/D:/git/daotie/daotie/target/classes/
URL xmlpath = this.getClass().getClassLoader().getResource("");
System.out.println(xmlpath);
// 第四种: D:/git/daotie/daotie
System.out.println(System.getProperty("user.dir"));
/*
* 结果: C:/Documents and Settings/Administrator/workspace/projectName
* 获取当前工程路径
*/
// 第五种: 获取所有的类路径 包括jar包的路径
System.out.println(System.getProperty("java.class.path"));
}
}
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
【从0到1构建一个ClaudeAgent】并发-后台任务
MyBatis、MyBatis-Plus、JPA、MyBatisGX 写法比较:同一个需求,四种解法
java2AI系列:SpringAI 通过 Function Calling 接入外部系统
Java 通用树形结构构建与解析工具类解析
深度剖析:Java 并发三大量难题 —— 死锁、活锁、饥饿全解
别再重复造轮子了!SpringBoot对接第三方系统模板,拿来即用
Spring AI 核心原理解析:基于 1.1.4 版本拆解底层架构
华为 IODT 设备接入
自定义跨字段校验必填注解
别再System.out了!这份SpringBoot日志优雅指南,让你告别日志混乱
AI精选
