记一下JavaFX打包jar找不到主类的问题

如题,自己做了几个小工具,想写个GUI,然后用JavaFx完成,IDEA中使用没问题,打包jar,然后就找不到主类了,网上也没找到对应的解决办法。

不靠谱的方法:将Artifacts由普通jar改为JavaFX Application,配置参数,然而没卵用,不知道是哪里配错了,没找到文档。

解决方法1:手动打包:javafxpackager -createjar -appclass [类全名(没.class后缀)] -srcdir [.class编译文件位置,IDEA的话就在production下] -outdir [输出目录] -outfile [输出文件名]       缺点是麻烦

解决办法2(推荐):观察了一下方法一中生成的jar,其实就是在/META-INF/MANIFEST.MF上加了几个字段,所以手动加上就行了,亲测可用。先在Artifacts中调整为普通的jar,自动生成/META-INF/MANIFEST.MF,修改/META-INF/MANIFEST.MF为:

Manifest-Version: 1.0
Permissions: sandbox
JavaFX-Version: 8.0
Created-By: JavaFX Packager
Main-Class: zhangtao.gui.FindAndMoveGUI

多了三个字段,作用一目了然。

所以以后只要加上

Permissions: sandbox
JavaFX-Version: 8.0
Created-By: JavaFX Packager
这三个字段就行了。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jfxrt.jarJavaFX Runtime的一个JAR文件,它包含了JavaFX应用程序的运行时库。如果在使用JavaFX开发应用程序时遇到了"不到javafx:jar"的错误,可能是因为以下几个原因: 1. 版本不匹配:jfxrt.jar 的具体路径和命名可能会因为不同版本的JavaFX而有所不同。在JavaFX 1.x版本中,通常可以在JDK安装目录的 jre/lib 目录下到 jfxrt.jar。但是在JavaFX 2.x及更高版本中,JavaFX已经被合并到了Java SDK中,不再需要单独的 jfxrt.jar 文件。 2. 缺少依赖:如果使用了一些需要依赖JavaFX的库或工具,但是没有正确地配置jar文件或类路径。在这种情况下,需要确保jfxrt.jar的路径被正确地添加到你的项目的构建路径中。 3. 环境变量配置错误:有时会遇到环境变量配置错误的情况,导致Java虚拟机无法正确地到jfxrt.jar文件。在这种情况下,可以检查和更新JAVA_HOME和PATH环境变量,确保它们指向正确的JDK安装目录。 解决这个问题的方法有几种: - 如果你使用的是JavaFX 2.x或更高版本,那么直接使用Java SDK即可,不需要单独的 jfxrt.jar 文件。检查你的开发环境和项目配置,确保JavaFX已经正确地集成到JDK中。 - 如果你使用的是较旧版本的JavaFX,确保jfxrt.jar的路径被正确地添加到你的项目的构建路径中。在IDE中,可以在项目的构建路径或依赖项中添加 jfxrt.jar。 - 检查和更新JAVA_HOME和PATH环境变量,确保它们指向正确的JDK安装目录。此外,还可以尝试重新安装JDK或JavaFX,确保它们被正确地安装和配置。 总之,"不到javafx:jar"的错误通常出现在JavaFX版本不匹配、依赖缺失或环境变量配置错误的情况下。根据具体的开发环境和项目配置,可以采取相应的方法来解决这个问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值