GroovyFX Alphaで躓いたトコ(ビルド編)
ダウンロード
jar とか zip とかそんなのありません。なんでソースを http://svn.codehaus.org/gmod/groovyfx/trunk/ から引っ張り出して自分でjar作りましょう。
IDE準備
リポジトリに入っているのは NetBeans のプロジェクトですので、素直に NetBeans でやります。NetBeans使い慣れてないのに*1。とりあえず NetBeans7.0 JavaSE をダウンロード、インストール。それから Groovyプラグイン をインストール。動作検証として、Javaプロジェクト作ってGroovyスクリプト作って実行するくらいはしておきます。
この辺りの説明はパス。GroovyプラグインのGroovyのバージョンが1.6.4っぽいのも、とりあえずは気にしない。
チェックアウト
チーム -> Subversion -> チェックアウト。
リポジトリURLに http://svn.codehaus.org/gmod/groovyfx/trunk/ を入れて、後は何も変更せずそのまま行きます。チェックアウトにはそれなりに時間がかかります。おとなしく待ちましょう。
環境整備
意気揚々と開いてみようとしたら、ダイアログが出ると思います。もしくはなんかエラーが出てるはず。出てなきゃ読み飛ばしで良いですよ。
参照の問題
1つ以上のプロジェクトリソースが見つかりませんでした。
「プロジェクト」ウィンドウでプロジェクトを右クリックして、
「参照の問題を解決」を選択して、見つからなかったりソースを探してください。
デモ実行
上記設定をしたらエラーがなくなっていると思います。さっそくデモを動かしましょう。ソースパッケージに demo ってパッケージがあると思いますので、その中の適当に1つ選んで実行します。
実行は「ファイルを開いて Shift + F6」でやってます。なんか面倒。
init: deps-jar: Created dir: C:\xxxxx\NetBeansProjects\trunk\build Updating property file: C:\xxxxx\NetBeansProjects\trunk\build\built-jar.properties Created dir: C:\xxxxx\NetBeansProjects\trunk\build\classes Created dir: C:\xxxxx\NetBeansProjects\trunk\build\empty Compiling 1 source file to C:\xxxxx\NetBeansProjects\trunk\build\classes org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: C:\xxxxx\NetBeansProjects\trunk\src\demo\HelloEffects.groovy: 22: unable to resolve class groovyx.javafx.GroovyFX @ line 22, column 1. import groovyx.javafx.GroovyFX C:\xxxxx\NetBeansProjects\trunk\src\demo\HelloEffects.groovy: 19: unable to resolve class groovyx.javafx.SceneGraphBuilder @ line 19, column 1. import groovyx.javafx.SceneGraphBuilder 2 errors C:\xxxxx\NetBeansProjects\trunk\nbproject\build-impl.xml:627: The following error occurred while executing this line: C:\xxxxx\NetBeansProjects\trunk\nbproject\groovy-build.xml:23: Compilation Failed 構築失敗 (合計時間: 0 秒)
盛大にこけます。これはなんかコンパイル済んでないみたい?よくわからないのですが、プロジェクトを右クリックして「構築」を実行します。そしたらこの問題は解決するみたいです。Groovyクラスのコンパイルタイミングの問題なんでしょうかねー?
構築後に実行。
init: Deleting: C:\xxxxx\NetBeansProjects\trunk\build\built-jar.properties deps-jar: Updating property file: C:\xxxxx\NetBeansProjects\trunk\build\built-jar.properties compile-single: run-single:これは私の環境が混在してるからっぽいです。NetBeansの実行環境のJavaと使う事にしたJavaFX2.0の不一致で、両方64bitに揃えることで解決。 他にも色々でるかもしれません*4。最後は「どれだけ環境揃えてもコンパイルできない!」になるかもしれません。alphaなんでその辺りは仕方ないものとするしか……何とかできない人は触っても意味無いですし。(と言いつつ苦戦してる私。)たまにすんなり通るリビジョンがあって、最初触った時はそれでした…おかげで「動く」って言う確信は持ててるので進めるのですが。 とりあえずdemoに入ってるのは、そのまま実行すれば一通り動きました。 エラーが無くなれば「GroovyFX.jar」が作れます。「jarさえ出来ればこっちのもの!」と思いきや、ここでもいくつか躓きました。それは次の機会に…。Fallback to Prism SW pipeline
Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: C:\xxxxx\javafx-sdk2.0-beta-64\rt\bin\mat.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:255) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:30) at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:91) at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:17) at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:55) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.UnsatisfiedLinkError: C:\xxxxx\javafx-sdk2.0-beta-64\rt\bin\mat.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform (中略) Java Result: 1 構築成功 (合計時間: 1 秒)