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 に答える