aimatwinning
top-topsoft
采纳率25%
2015-05-09 13:17

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条回答

  • gsky1986 foreach_break 6年前

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

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

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

    点赞 1 评论 复制链接分享

相关推荐