MyClass.class.getResource("/")
说明 : 获取当前类所在的classes根目录
FileUtil.class.getResource("/").getPath() :
/E:/workspase/Ideaworkspase/eureka-client-server/target/classes/
MyClass.class.getResource("")
说明: 获取当前类的包在classes目录中的位置
FileUtil.class.getResource("").getPath():
/E:/workspase/Ideaworkspase/eureka-client-server/target/classes/com/example/client/utils/
MyClass.class.getClassLoader().getResource("").getPath()
说明: 获取当前类所在的classes根目录
FileUtil.class.getClassLoader().getResource("").getPath():
/E:/workspase/Ideaworkspase/eureka-client-server/target/classes/
MyClass.class.getClassLoader().getResource("/").getPath()
说明: 此写法无法获取到对应目录
FileUtil.class.getClassLoader().getResource("/").getPath() :
Exception in thread "main" java.lang.NullPointerException
at com.example.client.utils.FileUtil.main(FileUtil.java:14)
代码示例:
需求: 获取配置文件中 test.yml 文件路径
本地编译目录结构:
打包后配置文件位置
String path = DemoApplication.class.getResource("/config/test.yml").getPath();
输出结果:
本地运行输出 :
/E:/workspase/Ideaworkspase/demo/target/classes/config/test.yml
打包部署输出:
file:/E:/workspase/demo/target/demo-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/config/test.yml