我正在使用 Eclipse + Window Builder + 一些第三方库来构建一个 gui 应用程序,
我的应用程序的入口点位于 MainWindow.java 文件中,该文件还包含应用程序的 gui,除了我几乎没有帮助程序类。
我的应用程序运行良好,但是当我检查 bin 文件夹时,我发现还有四个类文件,即:1. MainWindow$1.class 2. MainWindow$2.class 3. MainWindow$3.class 4. MainWindow$4.class。
现在我不明白为什么这些文件在这里,当我删除这些文件时,Eclipse 抛出异常
Exception in thread "main" java.lang.NoClassDefFoundError: gui/MainWindow$1
at gui.MainWindow.main(MainWindow.java:71)
Caused by: java.lang.ClassNotFoundException: gui.MainWindow$1
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
引发异常的代码是:
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainWindow window = new MainWindow();
window.frmMailExtractor.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
我无法找出这些文件为何存在以及是谁放置的?有任何想法吗?
好的,所以这些是匿名类,但是为什么会出现异常呢?...为什么我在 eclipse 中看不到它们。因为当我将其导出为可运行的 jar 时,jar 会引发相同的异常