博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven项目中获取classpath和资源文件的路径
阅读量:6849 次
发布时间:2019-06-26

本文共 756 字,大约阅读时间需要 2 分钟。



假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么java文件夹和resources文件夹在运行时就是classpath的真实位置,如果

有一个文件位于 src/main/resources/test.txt

有一个类位于 src/main/java/com/qunar/MyClass.java

FILE_NAME = "test.txt"

通过如下代码

MyClass.class.getClassLoder().getResource(FILE_NAME).getPath();

可以直接获取文件路径

而classpath可以通过如下代码获取

MyClass.class.getClassLoder().getResource("").getPath();

 

还有一种方法可以通过当前类的加载路径使用相对路径来获取资源地址

MyClass.class.getResource(FILE_NAME).getPath()

那么这种就会有问题,因为此时的路径是相对于MyClass这个类在运行时路径而言的,test.txt和MyClass并不在一个层级,因为MyClass之前还有两个包

可以如下解决

MyClass.class.getResource(File.separator + "FILE_NAME").getPath(); // 这种方法相当于使用绝对运行时路径MyClass.class.getResource(".." + File.separator + ".." + File.separator + FILE_NAME).getPath(); // 这种方法相当于使用相对MyClass的运行时路径

转载地址:http://xggul.baihongyu.com/

你可能感兴趣的文章
TI-BASIC 计算器游戏开发之文字、图形、音频教程 I:中文文字显示
查看>>
html,CSS文字大小单位px、em、pt的关系换算
查看>>
Linux下安装redis并配置服务
查看>>
spring-boot 框架安装配置
查看>>
string深入之subString
查看>>
Welcome to visit My Blog
查看>>
MySQL管理与优化(4):常用函数
查看>>
vue使用mockjs
查看>>
Google Maps API on CM11
查看>>
mongoDB简明教程-python
查看>>
年后学习小计划
查看>>
使用Jad或JadClipse进行反编译
查看>>
CentOS7安装Docker,运行Nginx镜像、Centos镜像
查看>>
docker 安装 memcached
查看>>
QQ空间2012Android客户端源码——龙设计
查看>>
Lucene3.0之索引
查看>>
跨平台web前端框架的选择
查看>>
Node.js 淘宝运用
查看>>
网站开发中web页面跳转几种方式详解
查看>>
iOS之事件的传递和响应机制
查看>>