【发布时间】:2021-07-28 22:27:48
【问题描述】:
我使用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 中执行时运行良好。我尝试通过查看类似于these 的答案来添加我创建的自定义 jar 文件,但它似乎没有帮助。我也尝试更改执行文件夹,但这也不能解决错误。
【问题讨论】:
标签: java intellij-idea launch4j picocli