3

(コンテキストは、WAR としてデプロイされる Maven JavaEE プロジェクトです。)

私のアプリケーション クラスは、ディレクトリ内のパッケージから (StringTemplate 3.2.1 ライブラリを使用して) リソースを読み込みますsrc/main/resources。- アプリケーション クラス ファイルとリソースはすべてWEB-INF/classes. 内部のnew FileInputStream(path)StringTemplate は、単純な相対パスを使用してリソースを見つけることができます。

JUnit を使用してクラスをテストする場合、この単純なセットアップは機能しません。単体テストはtest-classesディレクトリから実行され、相対パスは間違った場所を指します (通常は からのリソースによって設定されsrc/test/resourcesます)。

両方の環境で機能する相対パスを StringTemplate に渡すにはどうすればよいですか?

4

1 に答える 1

0

ドキュメントを正しく理解していれば、クラスパスにあるものの代わりに絶対パスなどを使用して何か間違ったことをしたことになります。さらに、Class.getResourceAsStream("xyz.conf") を使用してリソースをロードする必要があります。リソースが src/main/resources から来ているか、src/test/resources から来ているかは問題ではありません。これにより、クラスパスが重要になります。私は物事を誤解しているかもしれません。

于 2012-10-24T17:39:55.337 に答える