我在Eclipse中使用Maven项目(在m2e插件的帮助下)。当我将项目打包到jar文件(mvn install)时,“资源”中的所有文件都位于jar的根目录中。
因此,在我的程序中,我应该只使用裸文件名:
File file = new File("foo.txt");
但是当我通过Eclipse构建和运行我的项目时,我将不得不使用文件的相对路径:
File file = new File("src/main/resources/foo.txt");
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
要访问程序的资源,请不要使用File
,FileInputStream
和类似的类。
它们不适用于jar文件中的任何内容。
而是使用Foo.class.getResource(...)
或.getResourceAsStream()
来访问您的资源。 (在此之前阅读文档。)
我不确定从eclipse启动的程序是否可以访问这些程序 - 请尝试报告回来!
答案 1 :(得分:0)
Eclipse中的包配置错误,因为它将src / main / resources视为包而不是源文件夹。
Eclipse中的配置必须如下所示: