Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NoClassDefFoundError,但类存在_Java_Noclassdeffounderror_Netbeans 7 - Fatal编程技术网

Java NoClassDefFoundError,但类存在

Java NoClassDefFoundError,但类存在,java,noclassdeffounderror,netbeans-7,Java,Noclassdeffounderror,Netbeans 7,以下是错误: Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: sfclocator/UpdateNameForm at sfclocator.SFCViewer.(SFCViewer.java:68) at sfclocator.SFCViewer$10.run(SFCViewer.java:1823) at java.awt.event.InvocationEvent.dis

以下是错误:


Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: sfclocator/UpdateNameForm
    at sfclocator.SFCViewer.(SFCViewer.java:68)
    at sfclocator.SFCViewer$10.run(SFCViewer.java:1823)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: sfclocator.UpdateNameForm
    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:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
我将此程序创建为一个Netbeans 7.0项目。我已经做了2-3天了,昨天就完成了。昨天它工作得很好。我睡着了,醒来了,今天早上运行了它,突然我出错了。我修复了弹出的错误,除了这个

项目构建得非常完美,JAR甚至运行得很好,但是当我尝试使用Netbeans运行项目时,它会给我这个错误。任何帮助都将不胜感激


我刚刚了解到的更多信息:


生成时,UpdateNameForm类存在于netbeans项目的classes文件夹中,但当我单击run时,它会删除UpdateNameForm类

我遇到了一个类似的问题,我解决了这个问题,首先从构建路径中删除jar,然后再次添加它。在重新添加jar之后构建项目。有时生成路径未刷新。。。我希望这也适用于你。

这类问题几乎总是由类路径问题引起的

  • 检查类路径设置
  • 检查是否可以在执行环境中找到包含类的jar
  • 检查该类是否不在前面在类路径中找到的另一个jar中,尤其是jar的早期/更高版本(即,如果您已经升级但没有清除旧jar)

如果你不知道你的类在哪个jar中,我觉得这个站点非常有价值,可以帮助你找到答案:

我已经通过从现有资源创建一个新的netbeans项目解决了我的问题。在我看来,这不是一个好的做事方式(特别是在大型项目上),但现有的答案都没有提供解决方案

我突然有了同样的问题。我在/build/classes中检查了生成过程的输出,但找不到缺少的类。难怪会出现错误消息。。。我在NetBeans 8.2中解决这个问题的方法是右键单击项目以打开属性页。然后转到Build下的Compile并取消选中保存时编译框。之后,我对有问题的类进行了一些虚拟编辑-输入一个System.out。。。并再次删除它-然后保存。之后,我可以右键单击该类并选择编译文件。再次签入/build/classes,我可以看到这些类现在已经构建好了。运行该程序有效,我可以重新检查项目属性中的“保存时编译”框。

如果在NetBeans中搜索,您是否可以看到类
UpdateNameForm
。@Elite是的,我可以。它在项目中,也在netbeans项目本身的classes文件夹中。请检查上面的更新是否有清理构建的构建脚本?@精英就像我说的,这是一个netbeans项目。netbeans中的clean and build按钮会自动执行此操作。它还将程序的最终JAR文件重建到“dist”文件夹中,这个JAR可以工作。。。几天前还不错。在我的例子中,它是一个web应用程序,从spring应用程序上下文加载bean时失败。我不知道如何检查我的类路径。我所有的类都存储在netbeans项目的build文件夹中,它们都在那里。构建所需的唯一JAR是AbsoluteLayout.JAR这是唯一一个解决这个问题的方法,我不明白你的意思。我的构建路径中没有JAR。构建我的项目所需的唯一JAR是AbsoluteLayout.JAR这个答案帮助我解决了NetBeans 10的问题。只需添加system.out&保存文件,然后将其删除。我不需要执行任何其他步骤。