Jindolfのポータブル化
独立したJavaアプリ配布物を作成するツールは以前から何種類か出回っていたように思います。 現在では(8u20以降?)、Oracleの公式ツールとしてJDKにjavapackagerが同梱されるようになりました。
ポータブルな実行パッケージを必要とするJindolf利用者は、既にこのようなツールを自身で活用しているだろうとの予想もあって、いままでJindolfオリジナルの製作サイドではjavapackagerの活用を検討してきませんでした。
Web界隈ではJavaアプレットは無かったことにされそうな雰囲気ですし、JavaFXの盛り上がりも今ひとつということで、クライアント機にJava実行系をインストールしてもらうだけのお願いも、だんだんとハードルが上がってきているような気がしています。
Jindolfのクラスファイル群とJRE実行系を一つにパッケージ化することによる弊害をいくつか予想してみたいと思います。
Jindolf自身はHTTPS通信を行わないので、古くなったJREのSSL証明書の期限切れといった問題は顕在化しにくいのではと考えています。人狼BBSが今後HTTPS化する可能性もありますが、長くても二年に一度くらいの間隔で最新のJRE及び証明書を同梱した配布物を配布できればなんとかなるかなと予想しています。
ところで日本のサマータイムって今後どうなるんでしょうねー。タイムゾーン情報の変更が政令とかに追いつけていないJREを同梱していると、発言秒やログ出力などの時間表記がおかしくなる可能性があります。
ポータブルな実行パッケージってどれくらいの大きさになるのかまだ予想できていません。Jindolfのために何百MByteもダウンロードしてもらうのもどうかなあという気も。Javaモジュールとか活用するといくらかはダイエットできるんでしょうか。
ポータブルなパッケージを作ったとして、おそらくそのパッケージにはオープンソースなJindolf由来のクラスファイル群とOracleの知的財産が混在することになると思います。
さてー、このパッケージをどこで配布していいのか、まだライセンスの調査があまり進んでいません。現在のJindolf配布物をOSDN.netに置かせてもらっているのは、配布物がすべてオープンソースだからです。
OpenJDKが本格的にJDK 11を配布し始めるまで、少し様子見をした方がよいのでしょうか。 場合によっては、ポータブルなパッケージを作るためのAntタスクやMavenゴールを提供するだけでこのチケットは閉じてしまうかもしれませんが、どうかその辺はよろしくー。
参考になりそうなOSS先行事例のメモ
* JavaFXアプリをGitHub上で配布しているプロジェクトの例。及びビルド手順。
* 上記Santulatorの配布に関する技術メモ
日本政府によるサマータイム導入の動きはなくなった模様です。
JEP 343: Packaging Tool https://openjdk.java.net/jeps/343
の正式リリースはOpenJDK13以降になりそうです。
JEP 343: Packaging Tool はJDK14から提供が開始されました。 (ただしIncubator)
まとめサイト専用ページからの2018-09-18リクエストによると、「Java(JRE?)をインストールしなくてもよいポータブルなJindolfを配布してほしい」とのこと。