繁体   English   中英

简单的.jar文件中的NoClassDefFoundError

[英]NoClassDefFoundError in simple .jar file

我正在尝试从我的项目中创建一个简单的.jar文件。 该项目由两个.class文件组成 - 使用二级类生成GUI的主类。 主类是运行的实际“主”类,而第二类只是带有它的方法的类文件,它也是JFrame的扩展并导入javax.swing和java.awt.event。*。

我用Jar把它捆绑起来。 我添加一个清单文件(带有一个新的行字符),该文件使用main方法指向主文件。 因此,Jar文件有两个.class文件和一个包含manifest.txt的文件夹。 当我使用javaw.exe运行它时,根本没有任何事情发生。 所以我尝试在命令行中运行它,我得到一个关于辅助类的NoClassDefFroundError。

当我尝试在JCreator中编译并运行第二个类时,我注意到我遇到了同样的错误 - 难怪它没有主方法,它只是一个类文件。 当我从JCreator运行主文件时,一切正常。

有任何想法吗?

看看你的堆栈跟踪,我现在可以看到问题:我可以告诉你实际上有两个以上的类:

Caused by: java.lang.ClassNotFoundException: grafPrime$calcButton at 

有一个名为grafPrime$calcButton.class的文件,它也需要在jar文件中。 可能还有其他此类文件 - 请确保包含所有这些文件!

好吧,问题是你没有包含匿名类 - 你应该有一个名为grafPrime$calcButton.class的文件,而这不在你的jar文件中。

基本上,将代码编译到一个干净的目录中,并包含生成的所有类文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM