Java 17 への移行(1) - monsiaj
Java 1.8 (java 8) の Extended Support 終了期限は 2030年12月に設定されている。思い返せば、15年前に OpenDolphin を初めて動かしたのが java 1.5 で、それから 1.8 までバージョンアップしてきた。そして、1.8 サポート終了の 2030年といえば、自分はもう結構な年になっているし、まだ仕事をしているかどうかも怪しい。もしかしたら java 1.8 が人生最後の java かもしれないと思っていた。
しかし、apple silicon の登場により状況が変わった。当院の OpenDolphin は java 1.8 + javafx8 なのだが、このままでは apple silicon にネイティブ対応できない。Rosetta エミュレーションで動くことは動くが、rosetta もいつまでサポートされるか分からない。Apple silicon ネイティブ対応の java を検討したところ、javafx を含めてネイティブ対応しているのは java 17 からであることが判明した。というわけで、壮大な java 17 移行計画がスタートしたのであった。
まずは、自院向けにカスタマイズした monsiaj-pns を java 17 で動かすことから始めてみた。Java 17 では jre がなくなっており、jre に当たる環境を自分で jlink で作って、jpackage でそれを取り込んだ mac 用のアプリを作るというシステムになっている。つまり、java がインストールされていなくても、普通のアプリのように単体で動くアプリが作れる。さらに、作成される jre は jar が動く最小限の環境でいいため、jre を組み込んでも、アプリの容量はそれほど大きくならない。進化している、おそるべし java 17。
monsiaj のコードはそのままコンパイラが通ったので、pom.xml に jlink, jpackage の処理を書き加えて、無事 mac 用のアプリを作ることができた。ついでに、maven の profile で mac と windows を切り替えて、windows 用の msi インストーラも作れるようにしてみた。(wix toolset が必要)
« orca 5.2 に移行 | トップページ | Java 17 への移行(2) - WildFly 27.0.2 の準備 »
「OpenDolphin」カテゴリの記事
- Java 17 への移行(7) - OpenDolphin client の対応 (2023.02.04)
- Java 17 への移行(6) - Hibernate 6 でやらかす(2023.02.03)
- Java 17 への移行(5) - OpenDolphin server の対応(2023.02.02)
- Java 17 への移行(4) - OpenSearch の準備 [ubuntu 編](2023.02.01)
- Java 17 への移行(3) - OpenSearch の準備 [mac 編](2023.01.31)