如题,自己做了几个小工具,想写个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这三个字段就行了。