0

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

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

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

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

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

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

4

2 回答 2

1

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

相反,使用Foo.class.getResource(...).getResourceAsStream()访问您的资源。(在这样做之前请阅读文档。)

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

于 2011-08-17T18:42:36.463 回答
0

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

Eclipse 中的配置必须如下所示:在此处输入图像描述

于 2011-08-17T17:09:20.550 回答