exe4j打包exe报错:找不到主类

一、错误

java.lang.ClassNotFoundException: view.MainFrame
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
    at com.exe4j.runtime.WinLauncher.main(Unknown Source)
如图所示:

exe4j打包exe报错:找不到主类_第1张图片

二、原因分析

遇到这个问题的主要原因很可能是 exe4j 无法找到正确的主类。我们可以在exe4j配置java包的这一步进行验证:

如图,这一步让我们选择要转换的jar包,添加之后需要选择jar包的主类,但是我选择主类却是空白的列表,也就是说exe4j工具没有找到主类。

exe4j打包exe报错:找不到主类_第2张图片

我即使手动添加了,后面依然报错:

exe4j打包exe报错:找不到主类_第3张图片

问题的原因是exe4j没有找到程序的主类,检查思路:

1、先检查我们的jar包清单文件“MANIFEST.MF”到底有没有配置程序的主类

exe4j打包exe报错:找不到主类_第4张图片

如果Main-Class没有,先加上试试,其实我们打好的jar包,首先通过cmd命令窗口执行java -jar xxxx.jar自测一下能不能运行,可以运行之后再通过exe4j工具打包。

2、如果你的“MANIFEST.MF”已经配置了Main-Class主类,还是报同样的错误,并且通过java -jar xxxx.jar也是能正常运行的,那很大可能你打的jar包存在问题。

3、我是利用eclipse中自带的export功能生成的jar包,尝试了两种导出方式最终都是命令窗口可以运行,exe4j导入就是找不到主类。

4、最后我重新使用IntelliJ IDEA进行配置打包才可以。

exe4j打包exe报错:找不到主类_第5张图片

三、几种Java打包jar文件的方法分享

使用IntelliJ IDEA打包Java普通项目生成可执行jar(通过exe4j生成.exe可行)

使用eclipse将Java项目打包成jar文件的方法

eclipse将项目打包成jar文件的两种方法

你可能感兴趣的:(jar,exe4j,exe文件)