2012年7月14日土曜日

Eclipse 4.2でJavaFX2.1

現時点でJavaFX2.0はNetBeansにしか対応していませんが、EclipseでJavaFX2.0を開発したいと思い、環境を構築しました。

自身の環境:
OS:Windows 7 Enterprise 64bit
Eclipse:4.2 x86
Eclipse起動jre:1.7.03 x86
JavaFX SDK:2.1.0 x64<-かならずOSのbitと合わせる

必要なもの:
JavaFX SDK
http://javafx.com/から入手→インストール
環境変数JAVAFX_HOMEをインストールしたディレクトリに指定
例:C:\ProgramFiles(x86)\Oracle\JavaFX

構築方法:
通常の方法でJavaプロジェクトを作成
プロジェクトを右クリック→ビルドパス→外部アーカイブの追加






JavaFXをインストールしたディレクトリ\rt\lib\jfxrt.jar
JavaFXをインストールしたディレクトリ\lib\ant-javafx.jar
を追加

これでとりあえずコンパイル・実行はできるようになりました。
実行できない場合はOSのbitとJavaFXのbitが合っていない可能性があります。

実行可能jarの構築:
これでプログラムを作ることは出来るのですが、デスクトップ上でjarファイルをダブルクリックして起動させるためには、Eclipseの実行可能jarのエクスポートではうまくいきません。
よってantツールを利用します。ちなみにこれ以降の作業は以下のサイトを参考にしました。


Deploying JavaFX Applications: JavaFX Ant Tasks | JavaFX 2 Tutorials and Documentation


プロジェクト直下にbuild.xmlを作成する








build.xmlに以下のように記述する(赤色の部分は各自修正)

<project name="JavaFXProject" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
    <property environment="env" />
    <property name="javafx.tools.ant.jar" value="${env.JAVAFX_HOME}/tools/ant-javafx.jar" />
    <property name="dest" location="bin" />
    <property name="jardest" location="bin/out" />    <!-- 実行可能 Jar ファイルが作成されるフォルダ -->
    <!-- アプリケーションの設定 -->
    <property name="app.vendor" value="作者の任意な識別ID(例:jp.kokai.appName)" />
    <property name="app.id" value="java-fx" />    <!-- 実行可能 Jar ファイルの名前(の一部)任意で変更可 -->
    <property name="app.name" value="アプリケーションの名前(例:JavaFX Application)" />
    <property name="app.version" value="アプリのバージョン(例:1.0)" />
    <property name="app.main-class" value="パッケージ.メインクラス名 例:package.main.Main" />    <!-- メインクラス -->
    <!-- タスク定義 -->
    <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
                 uri="javafx:com.sun.javafx.tools.ant"
                 classpath="${javafx.lib.ant-javafx.jar}"/>
    <fx:application id="app-info"
                          name="${app.name}"
                          mainClass="${app.main-class}" />
    <fx:jar destfile="${jardest}/${app.id}-${app.version}.jar">
        <fx:application refid="app-info"/>
        <manifest>
            <attribute name="Implementation-Vendor" value="${app.vendor}"/>
            <attribute name="Implementation-Title" value="${app.name}"/>
            <attribute name="Implementation-Version" value="${app.version}"/>
        </manifest>
        <fileset dir="${dest}"/>
    </fx:jar>
</project>


これでbuld.xmlを実行すればプロジェクト\outに実行可能jarが作成されるはずです。
propertyのapp.○○○は各自変更して下さい。

ちなみに自分の環境では、Eclipse上での実行は必ずOSと一致するbitのJavaFX SDKが必要ですが、実行可能jarにする場合はどちらでも動くようです。

0 件のコメント:

コメントを投稿