1

所以我有一个使用 javax.mail 库的程序,当我将 jar 打包到 windows 的安装程序时,它给了我一个错误,我可以追溯到 javax,我的猜测是有一些方法可以包含 javax。邮件作为我的模块的一部分,以便以后可以识别

这是我的 jpackage 命令的示例

package -t exe -- name appName --description "some description" --app-version 1.0 --input pathToInput --dest AbsolutePathToDestination --main-jar pathToMainJar --module-path AbsolutePathToJavaFxJmods --add-modules javafx.controls,javafx.base,javafx.graphics,javafx.web,javafx.fxml,java.sql --win-shorcut --win-menu --win-console

提前感谢您分享您的知识的朋友。

4

1 回答 1

1

所以正如我猜想的那样,我的模块列表中缺少两个模块,它们是:

  • java.compiler
  • java.命名

在我添加了两个模块并重新打包后,一切都很好。

所以我最后的 jpackage 命令如下:

package -t exe -- name appName --description "some description" --app-version 1.0 --input pathToInput --dest AbsolutePathToDestination --main-jar pathToMainJar --module-path AbsolutePathToJavaFxJmods --add-modules javafx.controls,javafx.base,javafx.graphics,javafx.web,javafx.fxml,java.sql,***java.compiler,java.naming*** --win-shorcut --win-menu --win-console

在我短暂学习 JavaFX 的过程中,我了解到如果代码在 IDE 上运行流畅,但在打包应用程序时出错,那么大多数问题是由于缺少库或未包含的文件引起的(比如依赖项),但当然,前提是它在 IDE 中正常工作。

请随时添加到此答案

希望这能再次帮助某人,和平。

于 2021-05-04T15:32:32.070 回答