JavaFXのMaven(M2E)設定(Eclipse 4.3 Kepler)

Eclipse4.3(実際に使っているのはPleiades all in one)にてM2Eを使ってJavaFXをMavenプロジェクトとして動かすまでのメモ。

新規->その他->Maven->Mavenプロジェクトから次へ次へといってアーキタイプの選択を開く

以前入れたリモートレポジトリに入っているorg.codehaus.mojo.archetypesのjavafxを選択

注:JavaFXのアーキタイプは何種類かあるようでディレクトリ構造は、JavaFX用アークテクとタイプの中でも結構ばらついている。なのでスタンダードな構造はきちんと調べた方がいいかも。

a

 

任意の名前をつけてプロジェクトを作成。

そのままだとJavaFX用のJarをMavenが見えていないので「FXML を型に解決できません」とか「インポートされた javafx は見つかりません」とかで怒られる。

pom.xml(プロジェクト直下ある)にjarのパスを依存関係に追加してやって「Maven->プロジェクトの更新」とやってやると動くようになる。(今のとこ無難に動いている模様。)

追加した内容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>jp.co.epea</groupId>
    <artifactId>firstfxclient</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>firstfxclient</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <mainClass>jp.co.epea.firstfxclient.MainApp</mainClass>
    </properties>

    <organization>
        <!-- Used as the 'Vendor' for JNLP generation -->
        <name>Your Organisation</name>
    </organization>

    <dependencies> <-アーキタイプによってはすでにあるので注意(dependencyタグだけでよい)
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>javafx</artifactId>
            <version>2.0</version>
            <scope>system</scope>
            <systemPath>C:\dev\pleiades43\java\7\lib/jfxrt.jar</systemPath> <-パスは実際にある場所
        </dependency>
    </dependencies>
    <build>

(8/5追記)

パスの外部化と、参考サイトへのリンク記事追加

(12/15追記)

実行可能Jarの作り方リンク

 

コメントを残す

メールアドレスが公開されることはありません。