我使用picocli构建了一个非常简单的命令行应用程序,我想将它打包成一个可执行文件。我首先使用 Maven 包将其打包成一个jar
文件,然后按照 SO 上的几个用户的推荐使用Launch4J来获取可执行文件。但是,当我Application.exe
在命令提示符下运行时,它会引发 NoClassDefFound 错误。
> Exception in thread "main" java.lang.NoClassDefFoundError:
> picocli/CommandLine
> at mycli.HelloCli.main(HelloCli.java:48)
> Caused by: java.lang.ClassNotFoundException: picocli.CommandLine
> 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)
> ... 1 more
该应用程序在 IntelliJ 中执行时运行良好。我尝试通过查看与这些类似的答案来添加我创建的自定义 jar 文件,但它似乎没有帮助。我也尝试更改执行文件夹,但这也不能解决错误。