给出NoClassDefFoundError的Netbeans dist jar文件

时间:2012-06-20 03:14:50

标签: java executable-jar classnotfoundexception

是的我有一个项目,我正在NetBeans 7.1中工作,我想要在另一台计算机上使用jar文件,但是当我尝试运行它时,它会产生NoClassDefFoundError。但是当我在我的电脑上运行它时工作正常。我已经提取了.jar文件,所有类似乎都在那里。我已经检查过netbeans是否认为我的项目是主项目,并且它有一个主类我也在MANIFEST.MF文件中确认。我的程序确实有摆动组件,如果它影响任何东西。

编辑 此外,我的dist文件夹中没有其他文件夹,如任何lib或图片文件夹 我也清洁并重建了大约一百次 /编辑

这是错误

Caused by: java.lang.ClassNotFoundException: ClubControl.jar
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

我已经搜索了关于这个主题的无数文章,但我仍然认为我没有发现问题。希望我没有错过它,有人回复了另一个问题的链接。

如果需要任何其他信息,请询问。

修改

这是MF文件

    Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.7.0_01-b08 (Oracle Corporation)
Class-Path: 
X-COMMENT: Main-Class will be added automatically by build
Main-Class: GUI.MainWindow

2 个答案:

答案 0 :(得分:1)

从异常堆栈跟踪中,似乎某个类在代码中的某处被错误命名:

Caused by: java.lang.ClassNotFoundException: ClubControl.jar
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

它似乎正在尝试加载名为ClubControl.jar的类 - 名称上应该没有扩展名,而且绝对不是 .jar

答案 1 :(得分:0)

您必须包含.jar的其他依赖项。与/ lib文件夹一样,或者有时如果项目中有图像,则必须包含这些图像,并确保.jar可以找到这些依赖项。并尝试清理和构建Netbeans项目。