java - 创建jar文件时出错: NoClassDefFoundError

标签 java executable-jar noclassdeffounderror

我的代码在 Eclipse 中正确编译并运行。在添加一段代码之前,我还可以通过执行以下操作成功制作 jar 文件:

jar cvfm Manifest.txt <Classes>

然后我将其添加到构造函数中的代码中:

addWindowFocusListener(new WindowAdapter() {
public void windowGainedFocus(WindowEvent e) {
    JFrame window = (JFrame) e.getSource();
            window.toBack();
}});

当我尝试创建新的 jar 文件并运行它时,我收到 NoClassDefError ,其中错误行指向该代码。具体来说,我得到了这个:

Exception in thread "main" java.lang.NoClassDefFoundError: BinaryClock$1
at BinaryClock.<init>(BinaryClock.java:55)

BinaryClock 是我的主类,第 55 行是上面代码的第一行。我不明白为什么它使 BinaryClock$1,然后给我错误。

如果需要更多代码或信息,请告诉我。如果不需要,我不想粘贴整个源代码。

最佳答案

BinaryClock$1.class 文件将包含在您显示的代码中为 WindowAdapter 创建的匿名内部类。您应该将该文件包含在 jar 文件中。

基本上,您应该构建一个干净的目录,并将该目录中的所有内容包含在您的 jar 文件中。不要试图对其进行选择性 - 如果编译器正在生成文件,那么这是有充分理由的。

关于java - 创建jar文件时出错: NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473437/

相关文章:

java - 有没有什么方法可以在 eclipse RCP 中创建一个无论焦点如何都有效的键绑定(bind)?

Java 使用 uniVocity 解析器特定列数据有逗号且未括起来

java - 如何通过 Spring 框架实例化使用泛型的对象?

java - 如何在 ECDSA 中处理具有较长基点顺序的短哈希

java - 读取压缩的 war 存档中的文件和目录

java - 从单个 Maven 项目创建多个可运行的 Jars(包括依赖项)

android - java.lang.NoClassDefFoundError : Failed resolution of: Lio/fabric/sdk/android/services/common/FirebaseInfo; 错误

java - jar 文件是如何执行的?这些类是否在某处提取?

Java NoClassDefFoundError

java - 没有类定义错误android studio