#griffon プロジェクトをarchetype から作ってみる
さんのエントリを読んでみて、macbookで再度試してみる
一応公式のデモビデオもあるみたいなのでリンクを張っておきます
- Writing JavaFX Apps with Griffon, Part 1 - YouTube
- Writing JavaFX Apps with Griffon, Part 2 - YouTube
試した環境は以下
Mac Lion(MacBook)
JDK7u5 for MacOSX
確かにこの手順だけでいける感じ。
ただu4の時に出てなかった終了時にセグメンテーションエラーが出るのはすごく気になっていたり
ただこちらはjavafxのせいだと思うので取り合えずスルーするかな*1
griffon install-archetype javafx
griffon create-app FunctionPlotterFX -archetype=javafx
groovyfx pluginも同時に入っているようですね。
- application.properties
#Griffon Metadata file
#Sun Jul 01 11:31:46 JST 2012
app.griffon.version=1.0.0
app.name=functionPlotterFX
app.toolkit=javafx
app.version=0.1
archetype.javafx=0.2
plugins.groovyfx=0.6.1
plugins.javafx=0.6.1
確かViewをgroovyfx使う形でテンプレートを作るのがarchetypeの考え方だしな。。
Codehaus
griffon自体は元々
plugin + XXXView.groovy を変更することでマルチ環境対応していた感じで、複合するなら
で埋め込んで連携なイメージだったかな。
widgets(コンポネント)
だから
辺りはあくまでメインViewはこれで作りましたぐらいの認識になるのかも
app.toolkit
archetype.javafx
とおもって色々と調べてみたら
「app.toolkit」に pluginが思いっきり依存するっぽい・・・*2
確かにpluginの設定項目に
- app.toolkit
- archetypes *3
が増えたのは認識していたんですけどね・・・
で実際どんな archetype があるか下記のコマンドで
griffon list-archetypes//griffon central
javafx 2 Griffon JavaFX Archetype
jumpstart 3 Adds typical setup and dialogs
presentation 4 Creates interactive presentations
scala 0 Griffon Scala Archetype
swt 1//local
default 1.0.0 Used when no archetype is specified
javafx 0.2 Griffon JavaFX Archetype
jumpstart 1.3 Adds typical setup and dialogs
presentation 1.1 Creates interactive presentations
swt 1.0 Default archetype for SWT applications
scala は install-archetype はできないようなので、まだ予定っぽいな・・
OK系)
- SWT ・・これでようやくgriffon 0.3以降動いてなかったSWTBuilderが使える認識
griffon create-app hoge -archetype=swt
インストールはOK、実行時エラー系)
- JumpStart ・・起動時にダイアログ出すやつだったと思う
- toolkit自体は app.toolkit=swing
MVC-Groupの登録がないとエラーが出ている訳ですが
griffon create-app jump -archetype=jumpstart
これテンプレート化するまえのサンプルコードでは確かにMVC-Groupの記述があった気がする・・・
2012-07-01 19:58:11,316 [main] ERROR griffon.util.GriffonExceptionHandler - Uncaught Exception
griffon.exceptions.MVCGroupConfigurationException: Unknown MVC type 'jump'. Known types are []
at org.codehaus.griffon.runtime.core.AbstractMVCGroupManager.findConfiguration(AbstractMVCGroupManager.java:73)
at org.codehaus.griffon.runtime.core.AbstractMVCGroupManager.createMVCGroup(AbstractMVCGroupManager.java:186)
at org.codehaus.griffon.runtime.core.AbstractGriffonApplication.createMVCGroup(AbstractGriffonApplication.java:474)
at org.codehaus.griffon.runtime.core.AbstractGriffonApplication.startup(AbstractGriffonApplication.java:313)
at griffon.swing.AbstractSwingGriffonApplication.realize(AbstractSwingGriffonApplication.java:78)
at griffon.swing.AbstractSwingGriffonApplication.run(AbstractSwingGriffonApplication.java:132)
at griffon.swing.SwingApplication.main(SwingApplication.java:36)
2012-07-01 19:58:11,318 [main] ERROR griffon.swing.SwingApplication - Unrecoverable error
griffon.exceptions.MVCGroupConfigurationException: Unknown MVC type 'jump'. Known types are []
at org.codehaus.griffon.runtime.core.AbstractMVCGroupManager.findConfiguration(AbstractMVCGroupManager.java:73)
at org.codehaus.griffon.runtime.core.AbstractMVCGroupManager.createMVCGroup(AbstractMVCGroupManager.java:186)
at org.codehaus.griffon.runtime.core.AbstractGriffonApplication.createMVCGroup(AbstractGriffonApplication.java:474)
at org.codehaus.griffon.runtime.core.AbstractGriffonApplication.startup(AbstractGriffonApplication.java:313)
at griffon.swing.AbstractSwingGriffonApplication.realize(AbstractSwingGriffonApplication.java:78)
at griffon.swing.AbstractSwingGriffonApplication.run(AbstractSwingGriffonApplication.java:132)
at griffon.swing.SwingApplication.main(SwingApplication.java:36)
[delete] Deleting directory /Users/XXXX/Documents/workspace_griffon/jump/staging/macosx64
[delete] Deleting directory /Users/XXXX/Documents/workspace_griffon/jump/staging/macosx
一回エラーになるものの、下記の形にすればOK系)
- presentation ・・id:kiy0taka さんが以前発表されていたgriffonプレゼンテーションのテンプレート版
- griffon-swingのいつもの依存エラーで途中で止まる系
- toolkit自体は app.toolkit=swing
griffon create-app slide -archetype=presentation
cd slide
griffon install-plugin http://artifacts.griffon-framework.org/repository/plugins/swing/1.0.0/griffon-swing-1.0.0.zip
cd ../
griffon create-app slide -archetype=presentation
試行ネタ)
駄目元で
app.toolkit=javafx
=>
app.toolkit=swng
=>
プラグインインストール
=>
app.toolkit=javafx に戻す
あたりに書換えて processing plugin辺りを試してみようと思ったんだけど
<TLで javafxとOpenGL組み合わせられない?? な話が出ていたので
でNG。
フォルダ名等を全部書き換えればうまくいく(立ち上がるまでは行く)とは思うんだけど
どうせエラーバリバリ吐くしな。。。というので断念しました
でも正直な処、Swingの中の一部高速化したいところをjavafxとかに出来ないと
なかなか厳しいのではと思ったりもしてしまっている。
SWT pluginとかのコンパチも出来ると嬉しいけど、実際の所どうなんだろう。。。
参照情報リンク)
追記)
GriffonFxPad/SwingPad に関しては
だけがどうも引っかかっているっぽいな
griffon install-plugin http://artifacts.griffon-framework.org/repository/plugins/swing/1.0.0/griffon-swing-1.0.0.zip
これだけ先にして
で普通に実行時plugin解決をする感じ
griffon run-app
追記2)
一応ここら辺の話って
- 第 7 回 JavaFX 勉強会 - JavaFX in the Box の為に下調べしていた話なので
一応発表したスライドを貼っておきます*5