8

Apache Batik と JavaCV を使用する Java Swing アプリを開発および配布しています。Java 1.6、7、および 8 で更新しました。macOS、Windows、および Linux 用のインストーラーは、Javapackager で構築されています。Java 8 は 2019 年 1 月にサポートが終了し、新しい LTS バージョンである Java 11 でパッケージ化して配布するソリューションが見つかりません。

JavaCV も Batik もモジュラー jar を生成しませんが、Java 11 で実行可能な jar をコンパイルして生成できるように再パッケージ化することができました。アプリは正常に動作しますが、配布用にパッケージ化することはできません。javapackager を使用してそこから 11 ランタイムをバンドルするために Java 10 にドロップすることを計画していましたが、jlink を使用してカスタム ランタイムを生成します。JavaCV と Batik はモジュール式ではないため、jlink は失敗します。私のアプリはそれらがなくても正常に動作しますが、jdeps はパッチを適用してモジュラーにするための module-info.class を生成しません。

その結果、コード ベースを Java 8 のままにして、サポートが終了しても出荷する必要があります。

javapackager の代替を作成するための呼び出しがあることは知っていますが、Java 8 が廃止されるまでそれはありません。そして、モジュラー jar をリファクタリングしてビルドし、カスタム ランタイムを生成するには、Batik および JavaCV プロジェクトが必要です。

誰でも他の解決策を提供できますか? 私は何かを逃しましたか?ありがとう。

4

3 に答える 3