8

JSFアプリケーションのフッターにビルドバージョンとビルド日付を表示したい。ページはXHTMLです。pom.xmlまたはその他のアーティファクトから情報を取得する方法を探しています。

maven-replaceプラグインを使用する次のものを見つけました。 http://www.vineetmanohar.com/2010/09/how-to-display-maven-project-version-in-your-webapp/

他に使っているテクニックはありますか?

JSFでこのようなものを探しています-ビルド日付を表示します

4

1 に答える 1

17

有効なアプローチの 1 つ: Maven フィルタリングを使用して、必要な情報を含むファイルを WAR または JAR に配置します。次に、Java Web アプリケーションで、そのファイルのコンテンツを ClassPath リソースとしてロードしますInputStream

次のようなファイル (「buildInfo.properties」としましょう) を作成しますsrc/main/resources

build.version=${project.version}
build.timestamp=${timestamp}

未解決の欠陥のため、pomtimestampのブロックで次のようにプロパティを定義する必要があることに注意してください。<properties>

`<timestamp>${maven.build.timestamp}</timestamp>`

ビルド中に、このファイルは project.version の値でフィルタリングされます (これは<version>、指定時に pom.xml で定義します)。

 <resources>
   <resource>
     <directory>src/main/resources</directory>
     <filtering>true</filtering>
   </resource>
 </resources>

Java コード (JSF Bean など) には、次のようなコードがあります。

    InputStream in = getClass().getClassLoader().getResourceAsStream("buildInfo.properties");
    if (in == null)
        return;

    Properties props = new Properties();
    props.load(in);

    String version = props.getProperty("build.version");
    // etc.

フレームワークがクラ​​スパスからの「リソース バンドル」としてのプロパティのロードをサポートしている場合 (つまり、Spring のように)、プロパティ ファイルをロードする前述の Java コードは必要ありません。

于 2012-09-14T16:16:48.190 に答える