質問: JavaEE(ビルドはgradle)でWebアプリケーションを開発しています。 掲題通り、warファイルをビルドした日時を、アプリケーション上から取得したいです。 プロダクトの開発・テスト中に、いつビルドしたものなのかを画面上に表示することが目的です。 何か標準のAPI等で簡単に取れるのでしょうか?
回答: メソッド一発呼び出しなど、簡単に取得する方法はないと思います。 というのも、「いつビルドしたか」は言語と開発ではなく、ビルドのプロセスで補完される べき情報だからです。なので、ビルド時にその情報を埋め込む必要があります。 一案としては、 ビルド時に、build.propertiesを作成、builddate=yyyy.mm.ddとしてWEB-INF/classesあたりのクラスローダにのるディレクトリに埋め込んでおく。 クラスローダから、以下のようなコードでpropertyを取得 `ClassLoader.getSystemResourceAsStream("build.properties");` (実際には取得できるinsputstreamを使って、Properies#loadすることで、Poperiesオブジェクトを取得します。)