2

私はjarファイルを作成するために使用したjdk 10、Windows 8、およびEclipse 2019を使用しています。jlink ツールを使用してカスタム jre を作成したいのですが、Eclipse で作成した jar ファイルを jlink が検出できないという問題に対処しています。ただし、すでにインストールしたJavaバージョンが多すぎます。これが私のコマンドです:

"C:\Program Files\Java\jdk-10.0.2\bin\jlink.exe" --module-path "C:\Users\Hassan\Desktop\test_java.jar";"C:\Program Files\Java\jdk-10.0.2\jmods" --add-modules test_java --output \Test2\JRE --compress=2

そしてそれは戻ります:

Error: Module test_java is not found.

パスは正しいと確信しています。何が起こっているのかわかりません。パスとともにコマンドを正しく書きました。

4

1 に答える 1

1

インターネットで検索したところ、モジュールを作成していないことがわかりました。モジュールのないjarファイルのみを作成しました。Java アプリケーションにモジュールを追加するには、module-info.javaという名前の Java ファイルを追加する必要があります。これはクラスを持たない特別なファイルで、Java アプリケーション内で必要なモジュールが含まれています。module-info.javaは、どのパッケージにも属していてはなりません。jdeps.exeを使用して、アプリケーションを実行する必要があるモジュールを特定した後。だから、私はこのコードをmodule-info.java内に書きました:

module AnyNameWillWork {
  requires java.base;
  requires javafx.base;
  requires javafx.controls;
  requires javafx.graphics;
  exports application;
}

exports キーワードは、必要なモジュールに、それらを使用するための次のパッケージへの許可を与えます。私のアプリクラスはすべてアプリケーションパッケージ内にあります。

私の回答に間違いがある場合は、私の回答をコメントアウトして訂正してください。

于 2019-11-23T09:57:22.543 に答える