torutkのブログ

ソフトウェア・エンジニアのブログ

[Java][JavaFX][NetBeans]JavaFXアプリケーションのJARファイルにバージョン番号を入れる

はじめに

Java SEの標準機能に、パッケージのバージョン管理があります。
http://docs.oracle.com/javase/jp/7/technotes/guides/versioning/spec/versioning2.html#wp90779

JARファイルのMANIFEST.MFに所定の属性(Implementation-Version)を記述しておくと、Javaの標準APIjava.lang.Packageクラス)のgetImplementationVersionメソッドで属性の値を取得することができます。

  • MANIFEST.MF
Implementation-Version: 1.0
public class Main {

    public static void main(String args...) {
        String version = Main.class.getPackage().getImplementationVersion();
            :

NetBeansJavaFXアプリケーションでのバージョン番号

NetBeans 8のJavaFXアプリケーションプロジェクトでは、プロジェクト・プロパティを開き、[カテゴリ]欄でアプリケーションを選択すると、右側に共通のアプリケーション・プロパティが表示されます。そこに、[実装バージョン]という欄があります。ここに値を記入すると、nbproject/project.propertiesファイルに反映されます。

  • project.properties
javafx.application.implementation.version=1.2p3

ビルドすると、JARファイルの中にこの設定値が反映されます。

  • MANIFEST.MF
Implementation-Version: 1.2p3
そのほかの項目

NetBeans 8のJavaFXアプリケーションプロジェクトのプロジェクト・プロパティにある、タイトル、ベンダー、スプラッシュ画面もMANIFEST.MFに入ります。