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

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()

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

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

报告相同问题?

悬赏问题

  • ¥20 SQL server表计算问题
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出