在Eclipse中运行时,以及从Maven打包的jar文件中,我的项目如何访问其“resources”目录?

时间:2011-08-17 15:36:42

标签: eclipse maven resources m2e

我在Eclipse中使用Maven项目(在m2e插件的帮助下)。当我将项目打包到jar文件(mvn install)时,“资源”中的所有文件都位于jar的根目录中。

因此,在我的程序中,我应该只使用裸文件名:

File file = new File("foo.txt");

但是当我通过Eclipse构建和运行我的项目时,我将不得不使用文件的相对路径:

File file = new File("src/main/resources/foo.txt");

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:1)

要访问程序的资源,请不要使用FileFileInputStream和类似的类。 它们不适用于jar文件中的任何内容。

而是使用Foo.class.getResource(...).getResourceAsStream()来访问您的资源。 (在此之前阅读文档。)

我不确定从eclipse启动的程序是否可以访问这些程序 - 请尝试报告回来!

答案 1 :(得分:0)

Eclipse中的包配置错误,因为它将src / main / resources视为包而不是源文件夹。

Eclipse中的配置必须如下所示:enter image description here