Javaサーブレットで独自のMANIFEST.MFリソースを読み込もうとしています。私の状況:私は、EARの中にWARを持っています。 EARには他にもいくつかのWARとJARがあります。クラスパスは本当に長いです。JavaサーブレットでMANIFEST.MFを読み取る
私はStackOverflowを含むいくつかの方法をWebで見つけました。
私は
this.getClass().getClassLoader().getResources("META-INF/MANIFEST.MF");
を使用して、すべてのMANIFEST.MFファイルを読み込み、それらを反復処理することができます。しかし、どちらが私のものかわかりません - これはビルドパイプによって生成されるため、Implementation-Titleでさえわかりません。 (私はしかし、私は、生産コードで推測することはできません。したがって、私は正しいマニフェストがあると知って、ビルドパイプの知識を推測することができます。)
をもちろん、
this.getClass().getClassLoader().getResourceAsStream("META-INF/MANIFEST.MF");
は完全に間違ってマニフェストを返します。クラスパス上の他のジャーから。
私も
this.getServletContext().getResourceAsStream("META-INF/MANIFEST.MF");
をしようとしたが、それはNULLを返します。
現在実行中のサーブレットを含むWARに属するMANIFEST.MFファイルへのアクセス方法は?
どのマニフェスト属性を読む予定ですか?それらの多くは既存のJava SEメソッドで取得できます。 – VGR
VGR +1、バージョンの取得例:String version = getClass()。getPackage()。getImplementationVersion(); – Rustam
上記のコメントは、WAR自身のマニフェストには適用できないため、間違っています。 – BalusC