今回は Griffon アプリケーションをパッケージングする際のモードと、付属ファイルの配置を見ていきます(一覧)。
参考 URL
- Griffon Guide 「11. Packaging and Deployment」
モード
「モード」はパッケージングのタイプで、以下の4つがデフォルトで定義されています:
- zip (Jar ライブラリと起動ファイル*1)
- jar (実行可能 Jar ファイル)
- webstart
- applet
出力されるフォルダ
「package」コマンドによって生成される Jar ファイルなどの成果物は
- $PROJECT_HOME/dist
フォルダ下の各モードに対応するフォルダに生成されます。 例えば jar モードの場合、「$PROJECT_HOME/dist/jar」フォルダ下に Jar ファイルなどが生成されます。 この「dist」フォルダは、「griffon clean」コマンドを実行すると削除されます。
生成されるファイル
モード別、環境別に生成されるファイルを列挙するとこんな感じ:
モード\環境 | dev/test | prod |
---|---|---|
zip | FunctionPlotter-#.zip griffon.icns bin +FunctionPlotter.bat +startApp.bat +FunctionPlotter +startApp lib +*.jar |
FunctionPlotter-#.zip griffon.icns bin +FunctionPlotter.bat +startApp.bat +FunctionPlotter +startApp lib +*.jar |
jar | FunctionPlotter.jar FunctionPlotter-#-jar.zip |
FunctionPlotter.jar FunctionPlotter.jar.pack.gz FunctionPlotter-#-jar.zip |
webstart | *.png *.jar FunctionPlotter-#-webstart.zip windows |
application.jnlp *.png *.jar.pack.gz *.jar FunctionPlotter-#-webstart.zip |
applet | applet.jnlp *.png *.jar FunctionPlotter-#-applet.zip windows |
applet.html applet.jnlp *.png *.jar.pack.gz *.jar FunctionPlotter-#-applet.zip |
- 太字のファイルは配布する際にいりそうなファイル。
- 各欄の Zip ファイルは、同欄内のファイルを Zip したアーカイブです。 zip モード以外では必要なのか疑問。 License ファイルなどを含めるのにいるのかなぁ・・・ まぁ、設定でこの Zip ファイルを生成しないようにできますけどね。 やり方は後述。
- prod 環境でパッケージングした場合、各 Jar ファイルに対応する .jar.pack.gz ファイルが生成されます。 これは Webstart や Applet でダウンロード時間を減らすのに使えるようです。 詳しくは「Reducing the Download Time」参照。
- dev 環境では、webstart, applet モードで生成されたファイルを実行しようとすると、セキュリティ上、実行がストップされるようです*2。 クライアント側のセキュリティ設定を何とかすれば動くのかも知れませんが、やりかた不明。
Zip モード以外の Zip アーカイブを出力しない
zip モード以外のモードで Zip アーカイブの生成を抑制するためには、
- $PROJECT_HOME/griffon-app/conf/BuildConfig.groovy
ファイルに以下のような設定を追加します:
griffon{ memory{ ... } ... dist{ jar.nozip = true webstart.nozip = true applet.nozip = true } }
付属ファイル
LICENSE ファイルや README ファイルをパッケージに含めたい場合や、Jar ファイル内の META-INF フォルダ内にパッケージングしたいファイルがある場合は、それらのファイルを規定位置に配置しておくと自動にパッケージングしてくれます:
付属ファイル | 配置場所 |
---|---|
LICENSE, README など | $PROJECT_HOME/griffon-app/conf/dist/shared |
META-INF/* | $PROJECT_HOME/griffon-app/conf/metainf |
LICENSE, README ファイルは、パッケージング後には
- $PROJECT_HOME/dist/《モード名》/LICENSE
というパスに配置されます。 zip モードの場合には、Zip アーカイブのルートにも配置されます。
- 作者: Andres Almiray,Danno Ferrin,James Shingler
- 出版社/メーカー: Manning Pubns Co
- 発売日: 2012/06/28
- メディア: ペーパーバック
- クリック: 8回
- この商品を含むブログ (19件) を見る