2

我正在使用 jdk 10、windows 8 和 eclipse 2019 来制作我的 jar 文件。我想使用 jlink 工具制作自定义 jre,我正在解决 jlink 无法检测到由 eclipse 制作的 jar 文件的问题。但是,我已经安装了太多的 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;
}

export 关键字为所需模块提供了后续包使用它们的权限。我所有的应用程序类都在应用程序包内。

如果我的答案有错误,请评论我的答案以进行任何更正。

于 2019-11-23T09:57:22.543 回答