2016-09-11 10 views
2

warファイル内にMANIFEST.MFを読み込もうとしています。私はEclipseを使用しています。Javaを使用してwarファイルのManifest.mfを読み取る

InputStream inputStream = getClass().getClassLoader().getResourceAsStream(
    "/META-INF/MANIFEST.MF" 
); 
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); 

私はこのコードを持っていますが、私はjava.lang.NullPointerExceptionエラーが発生しています。プロジェクトフォルダ内にwarというファイルがあります。

アドバイスをいただければ幸いです。ありがとうございました!

+0

WARは基本的にファイルのアーカイブなので、マニフェストがWARに含まれている場合は、最初に後者を開くか、これを行うAPIを使用する必要があります。 –

+1

ファイルが確実にありますか?先頭のスラッシュ 'getClass()。getClassLoader()。getResourceAsStream(" META-INF/MANIFEST.MF ");またはgetClass()。getResourceAsStream("/META-INF/MANIFEST.MF "); – Tunaki

+0

サーブレットコンテナのClassLoaderが.warファイルのルートを参照しないため、.warファイルのマニフェストがClass [Loader] .getResource [asStream]を使用して使用できない場合があります。彼らはWEB-INF/classesとWEB-INF/libの各.jarを調べます。 – VGR

答えて

1

warファイルがclasspathの一部であることを確認してください。そうしないと、動作しません。

+0

ありがとうございました!私はボタンを探していました。私はあなたの答えを最良の応答としてマークすることができます。 – ashlrem

関連する問題