假设资源文件放在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的运行时路径

Maven项目中获取classpath和资源文件的路径相关推荐

  1. IDEA maven项目src源代码下的资源文件不自动复制到classes文件夹的解决方法

    在学习spring boot的时候,书中的代码是把java文件和资源文件放到了同一个文件夹下,在idea maven项目下面运行会一直报错,因为资源文件不会自动复制到classes文件夹下,如下图: ...

  2. hibernate+servlet+mysql 实现easypoi_在Maven项目中使用easypoi完成Excel文件上传下载(示例代码)...

    导包: 1 2 3 cn.afterturn 4 easypoi-base 5 3.2.0 6 7 8 cn.afterturn 9 easypoi-web 10 3.2.0 11 12 13 cn. ...

  3. idea开发MAVEN项目target 下 mapper.xml资源 文件

    异常信息 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.yaosiyuan. ...

  4. [spring]maven项目中获取resources资源目录路径

    项目的资源目录路径如下: package com.zzj.spring.boot.util; import java.io.*; import java.util.Properties; public ...

  5. 【IDEA】idea中maven项目Resource目录下的资源文件无法编译

    文章目录 1.概述 1.概述 我有一个项目,项目结构如下 项目moudle_asrcmainjavaresourcesmybatismybatis-config-xxx.xmlmoudle_bsrcm ...

  6. java资源文件路径_Java 中获取资源(文件)的路径问题总结

    Java 中获取资源(文件)的路径问题总结 首先,Java 中获取资源大体上可分为两种方式,基于 文件系统的 和 基于classpath的. 1. 基于文件系统的相对简单. 比如 构造一个File f ...

  7. idea新建scala文件_IDEA maven项目中新建.scala文件

    本文首发于我的博客[IDEA maven项目中新建.scala文件] 分为三步 第一步.IDEA中安装scala插件 1.搜索安装 File-Sittings-Plugins-搜索安装scala 2. ...

  8. java maven 读取配置文件_Java项目和maven项目中如何获取设置配置文件中的属性

    通常情况下,我们会在一些配置文件文件中配置一些属性.如: indexPath = E\:\\Tomcat_7.0\\webapps\\ipost_stage\\lucene\\index imgUpl ...

  9. IDEA中Maven项目中的pom文件出现小蜘蛛

    问题描述 在IDEA的Maven项目中的pom.xml文件右键点击Add as Ant Build File按钮导致pom.xml文件图标出现小蜘蛛,并且pom文件标签全部报红 解决方案: 在右侧An ...

最新文章

  1. 140万!香港大学设高额博士奖学金
  2. 前端学习(2095):数组里面得方法哪些
  3. 部署FIM 2010 R2—1先决条件准备
  4. 软件详细设计说明书_软件测试的基本理论 笔记
  5. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_11_Thread类的常用方法_sleep...
  6. Android OpenGL ES(十二):三维坐标系及坐标变换初步 .
  7. 图片打散存储JAVA_通过java的i/o机制进行图片流的存储以及对网络图片的存储
  8. C语言如何输出100以内的质数?(带注释)
  9. Krytox VPF1525 VPF1514 VPF1506 XP Chemours DuPont
  10. 2014年11月合肥黄山宏村之旅
  11. volatility用法
  12. MATLAB之心形图绘制
  13. 零配置初始化流程就一直过不去_React TypeScript 从零实现 Popup 组件发布到 npm
  14. 改善网站安全性的5种方法
  15. 关于EL表达式获取参数的两种方法
  16. 诊断CAPL自动化(2)—— 封装了诊断发送的通用CAPL函数库
  17. 使用metasploit破解ssh密码
  18. qt写文本文件换行符_小小换行符乱谈(文本文件vs二进制文件)
  19. 科技公司揭露撑持权力
  20. hyperledger/cello安装和使用

热门文章

  1. MongoDB(7.mongodb中创建索引)
  2. python 批量读取文件夹的动漫美女图并显示
  3. MyBatis运行原理(三)接口式编程及创建代理对象原理分析
  4. VTK:BackgroundImage背景图用法实战
  5. wxWidgets:创建一个 Frame
  6. boost::log模块实现loging到 syslog 服务器的示例
  7. boost::graph模块实现DFS算法的测试程序
  8. boost::fusion::traits::deduce_sequence用法的测试程序
  9. Boost:循环缓冲区迭代的测试程序
  10. Boost:libbz2.dll测试程序