我有一个JavaFX项目,我想将其构建为jar文件。但是,当我尝试这样做时,我得到了一个错误。
Error:Java FX Packager: Can't build artifact - fx:deploy is not available in this JDK
去年我在这里找到了一个类似的problem,但看起来他们什么也没有得出结论。
我有一个JavaFX项目,我想将其构建为jar文件。但是,当我尝试这样做时,我得到了一个错误。
Error:Java FX Packager: Can't build artifact - fx:deploy is not available in this JDK
去年我在这里找到了一个类似的problem,但看起来他们什么也没有得出结论。
2条答案
按热度按时间ffdz8vbo1#
在JetBrains网站上,我发现了一篇关于Package JavaFX applications的文章,这篇文章很有帮助。在#故障排除部分,它说,
fx:deploy
任务是Ant插件的一部分,该插件以前作为Java打包程序的一部分在ant-javafx.jar
中分发。在当前JDK版本中,jpackage中不包含Ant插件。如果您使用的是JDK版本9或更高版本,请使用第三方解决方案进行打包。例如,请参阅JavaFX官方文档中的Runtime images一节。
nnt7mjpx2#
发生这种情况的原因是,您安装了许多JDK,并且由另一个JDK进行编译和运行,或者您在Intellij中创建工件时使用了Javafx Application jar功能,但不幸的是,该功能已损坏。在继续执行以下步骤之前,请确保您使用相同的JDK版本进行编译和运行。以下是您的修复方法:
1 -创建启动程序类:
Launcher类将调用运行应用程序的主JavaFx类。如果选择直接通过Main类生成Jar,则会出现以下错误:
您的Launcher类应类似于以下内容:
2 -继续构建Jar
1.您可能仍有来自上一版本的
META-INF
文件夹,因此请删除它。1.将项目生成为JAR:
File->Project Structure -> Artifacts -> "+" -> JAR-> from modules with dependancies..
1.选择主启动程序类,选中“复制到输出目录并通过清单链接”,然后按“确定
1.按“应用”,然后按“确定”。
1.转到构建-〉构建工件-〉重建