私はjarファイルの作成に使用したjdk 10、windows 8、eclipse 2019を使用しています。jlinkツールを使用してカスタムjreを作成したいのですが、eclinkeから作成された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.
パスが正しいと確信しています。何が起こっているのかわかりません。コマンドをパスとともに正しく書きました。
インターネットで検索したところ、モジュールを作成していないことがわかりました。モジュールのない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キーワードは、必要なモジュールに、使用する後続のパッケージへのアクセス許可を与えます。すべてのアプリクラスは、アプリケーションパッケージ内にあります。
私の回答に誤りがある場合は、私の回答をコメントアウトして修正してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加