問題タブ [jdeps]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
5623 参照

java - モジュール化されていない依存関係を使用して Java 11 でアプリをパッケージ化する方法

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 プロジェクトが必要です。

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

0 投票する
1 に答える
1003 参照

java - OpenJFX jmods を解決しようとすると jdeps コマンドが失敗する

OpenJFX を使用するプロジェクトで jdeps コマンドを実行しようとしていますが、何度も失敗します。

私が使用しているコマンドは、できる限り単純化されています。

javafx-jmods-11.0.2 は、OpenJFX jmod ファイルを含むディレクトリです。

このコマンドを実行すると、次のエラーが表示されます。

Y:\javafx-jmods-11.0.2 にある javafx.base モジュールが見つからない理由について、アイデアや提案はありますか?

0 投票する
1 に答える
944 参照

java - Java 11 を使用して jdeps 経由でレガシー jar のモジュール情報を生成できない

次のコマンドを使用して、selenium-chrome-driver-3.141.59.jarという名前のレガシー jarのモジュール情報ファイル を生成する必要があります。

しかし、私は結果として得ています:

ここここで述べたように試しました:

その後、同じエラーが発生します。

別の方法として、次のようなモジュールを個別に追加しようとしました。

そして、私はこれを見ます:

どのモジュールを追加しても、問題は常に次のようになります。

1 つ上のレベルを使用しても、私も役に立ちませんでした。

エラーは次のようになります。

したがって、私が最後にできることは、module-info を手動で作成し、exports?を使用して各モジュール内に書き込むことです。

更新しました:

-cpオプションでクラスを検索するには:

selenium-chrome-driver-3.141.59.jarselenium-api-3.141.59.jarまたguava-25.0-jre.jar、に追加しましたselenium-remote-driver-3.141.59.jar

0 投票する
1 に答える
413 参照

java - Javaクラスの実際のモジュール依存関係を取得するには?

私のJDKバージョンはOpenJDK 11です。私のクラスファイルはjmx.Main.classです

これが私のコードです。

IDE で実行すると問題なく動作します。カスタム jre を使用したい。次にjdeps、依存関係を分析するために使用します。結果は次のとおりです。

だから私は依存モジュールだjava.baseと思います。java.management

次にjlink、カスタム jre を生成するために使用します。

カスタム jre を使用する前に、cmd ウィンドウでコードを実行していました。それは正常に動作します。

次に、jre でコードを実行します。コードを実行できず、エラーが発生しました:

その理由は、いくつかの依存モジュールが欠落しているためだと思います。jlinkモジュールjre全体を生成するために実行します。モジュール jre 全体を使用すると、コードが再び正しく実行されます。

実際の依存モジュールを取得するにはどうすればよいですか? それともJDKのバグですか?