JavaアプリケーションでビルドIDを取得します
-
29-09-2019 - |
質問
実行時にアプリのタイトルバーに表示されるビルドID(コンパイル時間で生成)を記録するための簡単な提案がありますか?
Eclipse内から構築する必要があるのはIDだけです。その後、タイトルに渡すことができます。
解決
ANTを使用している場合、「JAR」または「パッケージ」ターゲットを簡単に設定できるように、現在のタイムスタンプを含むファイルを生成し、これをあなたに含めることができます。 jar
出力。
Mavenを使用している場合、ANTを使用してドロップダウンするなど、同様のことを達成する方法がいくつかあります Antrunプラグイン.
他のヒント
Mavenを使用している場合、特にSVNからのビルド番号が必要な場合(構成を通じて一意のビルド番号を生成できます)、 BuildNumber-Maven-Plugin.
次のようなスニペットをpom.xmlファイルに追加するだけです。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
</configuration>
</plugin>
次に、後で$ {buildNumber}を使用して、Build IDを参照します。 Maven-War-Pluginを使用して、その数をそのようにマニフェストに書き込むために使用します。
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
ビルドにタイムスタンプを使用する場合は、瓶またはクラスの変更日またはマニフェストファイルからそれを取得できます。
Mavenは、JARのモジュールバージョン番号を使用してマニフェストファイルに入力します。これを読んで、使用しているすべてのMavenモジュールのバージョンを取得できます。
「一意のID」のタイムスタンプ部分を作成すると、すべてのビルドが異なるIDを保証します。
Eclipse内で完全に構築している場合、必要な情報を使用してソースフォルダーにリソースを生成するビルドアクションを作成する必要があります - プロパティファイルはうまく機能します。あなたがそれを見せるために必要なことをすることができます。