top-topsoft 2015-05-09 13:17 采纳率: 25%
浏览 12075
已采纳

IntelliJ IDEA中 子项目文件路径问题,求解决

先看图,然后我仔细解释
最近发现找不到文件,同样的代码在eclipse中可以正常找到,对于idea不熟悉,所以来此请教,我是把一些文件拷resources目录下,发现找不到了,使用相对路径,我看到target/classes中是编译过去了的啊,这个路径该怎么写?
在eclipse中
(1) 主项目包含的两个模块 topsoft-test(web项目) topsoft-utils(java maven项目)
(2)(3)(4) 根据new File("log4j.xml);以及创建文件可以发现路径是相对于子项目topsoft-utils

的跟路径,(4)标注了这个测试类是在topsoft-utils中运行的
(5) 假如说我想访问(5)标注处的这个文件,相对路径该怎么写?
转到IntelliJ IDEA中,目录结构一样,运行的测试也是一样,打印出来的目录不同,我想这是IDE的区别,或者说是在IDEA的配置当中哪里出了问题,导入maven项目我就默认的 Project Structure 我看到里面有三个模块。
路径中只写文件名不是相对于classpath路径么,为什么相对于项目的跟路径了,eclipse中这样可以接受,至少还能加上src/main/....访问到,而在IntelliJ中就完全不对了,主项目打包会产生子项目的jar包,而我访问的文件应该是相对于子项目的classpath路径,在IntelliJ中,resources是在classpath中的,如果只写名字应该是相对于子项目的resources目录才对啊,理论上。
请赐教

我查看了打包编译后的目录,确实是打进去了的,为什么通过只写文件名这种方式就访问不到呢?

图片说明
图片说明

图片说明
图片说明
图片说明

  • 写回答

1条回答 默认 最新

  • foreach_break 2015-05-09 13:28
    关注

    建个目录,把你要访问的文件放进去,把这个目录标记为Recources,然后用下面的方式访问:

    yourClassName.class.getClassLoader().getResource("xxxxxxxx.txt").getFile()

    红色地方替换为你自己的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复