创建jar文件时SwingWorker无法正常工作

时间:2017-07-19 13:04:45

标签: java swing jar noclassdeffounderror swingworker

我有以下代码:

{
 "data": {
   "not interesting": ["milk", "yogurt", "dirt"],
   "interesting": [{ "A": "moonlanding", "B": "1956", "C": 100000, "D": "meh" }]
}

}

当我把它变成一个类文件时,它工作正常但是当我把它变成一个jar文件时,我得到以下错误:

  

线程“AWT-EventQueue-0”中的异常java.lang.NoClassDegFoundError:KaraokeMachine $ 1

有谁知道如何更改代码,以便swingworker在jar文件中工作?

1 个答案:

答案 0 :(得分:3)

该异常意味着您的类路径中缺少一些 anoymous内部类。所以答案很可能是:当你"捆绑"将您的类放入该类文件中,您忘记了这些类可以命名为A$1.class

KaraokeMachine.class是"主要"上课,但是在这里:

SwingWorker<Void, String> worker = new SwingWorker<Void, String>() {

你正在创建一个匿名的内部类 - 进入KaraokeMachine $ 1.class。要运行您的应用程序,您需要所有这些类文件。

换句话说:JAR文件的内容不完整。仔细了解构建该JAR文件的方式。例如,请参阅here