我的项目有两个maven模块A和B.模块A与模块B有依赖关系。在模块B中,我打开一个文件" user.txt"我保存在模块B的资源文件夹下。
使用Eclipse,我启用了工作空间依赖性解析。当我运行项目A时,它无法执行模块B中的方法。错误是文件" user.txt"找不到。但是在模块A下搜索文件而不是模块B.
我尝试禁用工作空间解析,但错误仍然存在。如果我构建完整的jar(包括A和B)并运行Eclipse之外的jar,它就是正确定位的。否则,我必须将文件复制到模块A,以使其在eclipse中工作。
任何解决方法?
答案 0 :(得分:1)
不应该将资源作为文件加载 - 您需要使用相对路径或绝对路径 - 而是通过向类加载器请求资源。官方文件位于http://docs.oracle.com/javase/8/docs/technotes/guides/lang/resources.html
任何Java项目都是如此,不仅仅是Maven项目。
有关如何正确加载资源的详细信息,请参阅Preferred way of loading resources in Java。