JavaFX 8项目导出可运行jar包后提示无法加载主类如何解决
JavaFX 8 导出可运行Jar包找不到主类解决方案
- 核查jar包内的
MANIFEST.MF配置
解压导出的jar包,找到META-INF目录下的MANIFEST.MF文件,确认存在Main-Class: 全限定类名的配置(比如run类在com.xxx包下,配置应为Main-Class: com.xxx.run),注意行末尾不能有多余空格,文件末尾必须保留一个空行,否则JVM无法正确识别主类。 - 确认入口run类的写法正确
run类不能继承Application,内部调用JavaFX主类的格式需符合要求,示例代码如下:
注意main方法必须用public class Run { public static void main(String[] args) { // 替换为你实际继承了Application的主类名 Application.launch(JavaFXMain.class, args); } }public static void修饰,参数为字符串数组,类名大小写和实际代码完全一致。 - 校验IDEA导出Jar的配置
打开文件→项目结构→工件,找到你导出jar对应的配置项:- 确认主类已正确选中为run类,全限定名无误
- 确认输出目录下包含run类编译后的class文件,路径和包名完全匹配
- 若选择提取依赖到Jar的打包方式,确认JDK8内置的
jfxrt.jar已被包含在依赖列表中
- 确认构建和运行环境正确
- 修改配置后需点击
构建→构建工件→对应Jar配置→重新构建,避免使用旧的构建产物 - CMD运行环境执行
java -version确认是JDK8版本,高版本JDK已移除内置JavaFX,运行会出现类找不到问题 - 运行命令使用标准格式:
java -jar 你的jar包名称.jar
- 修改配置后需点击
内容的提问来源于stack exchange,提问作者zaranoa
相关产品推荐
相关产品推荐

