私は2つのMavenプロジェクトを得た:にFileNotFoundException後の展開にTomcatの
- そのコード
- JARを使用してRESTfulなサービスを持っているWARからアクセスするリソースファイルとJAR
JARユニットテストを実行すると、リソースファイルにアクセスできます。
は、Tomcatにデプロイした後、リソースファイルへのアクセスは、私はこれらの行が、同じ結果の両方試してみましたFileNotFoundExceptionを
で失敗します。
File file = new File(getClass().getClassLoader().getResource("file.xml").getFile());
そして
File file = new File(getClass().getResource("/file.xml").getFile());
デバッグ、私はfile
の値が以下の通りであることを発見しました:
file:/usr/share/tomcat8/webapps/ROOT/WEB-INF/lib/com.projectgroup.projectname-1.0-SNAPSHOT.jar!/file.xml
私はその場所でJARを開いてファイルを見つけました。だから、なぜこれが起こっているのかわかりません。
ファイルは、オペレーティング・システム・ファイルのためのものです。 jarファイル内で圧縮されたものは、InputStreamに対してgetClassLoader()。getResourceAsStreamを使用するだけです。 –