Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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 损坏的Eclipse项目-classNotFoundException-找不到主类_Java_Eclipse_Noclassdeffounderror_Classnotfoundexception - Fatal编程技术网

Java 损坏的Eclipse项目-classNotFoundException-找不到主类

Java 损坏的Eclipse项目-classNotFoundException-找不到主类,java,eclipse,noclassdeffounderror,classnotfoundexception,Java,Eclipse,Noclassdeffounderror,Classnotfoundexception,我有一个项目,我一直在Ubuntu 12.04上的Eclipse3.7.2中开发。最近,我重新构造了类层次结构,它涉及在包之间移动类。我没有移动我的主类(“ob3.converter.converter”),它包含我的publicstaticvoidmain(String[]args)方法 现在,当我尝试运行它时,我得到: Exception in thread "main" java.lang.NoClassDefFoundError: ob3/converter/Converter Caus

我有一个项目,我一直在Ubuntu 12.04上的Eclipse3.7.2中开发。最近,我重新构造了类层次结构,它涉及在包之间移动类。我没有移动我的主类(“ob3.converter.converter”),它包含我的
publicstaticvoidmain(String[]args)
方法

现在,当我尝试运行它时,我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: ob3/converter/Converter
Caused by: java.lang.ClassNotFoundException: ob3.converter.Converter
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: ob3.converter.Converter. Program will exit.
我只在java中真正使用过Eclipse,它为我处理所有的开销——因此我对这个错误或是什么原因不太了解。我已经查看了我的运行配置/类路径等,但不知道要查找什么,结果是徒劳的

有人能给我指一下正确的方向吗?我已经在谷歌上搜索过了,很多东西都是关于清单文件的,但是我在任何地方都找不到它。我的工作区文件夹只包含我的源文件

我可以核实:

  • “Converter”类存在于包“ob3.Converter”中
  • 类“Converter”包含一个
    公共静态void main(String[]args)
    方法
  • 项目属性中Java构建路径页面上的“Source”选项卡显示“converter/lib”和“converter/src”——这两个文件夹包含我的整个项目源代码
  • 运行配置/JRE中使用的JRE是“java-6-openjdk-amd64”
  • 运行配置中的类路径选项卡如下所示:
    • Boostrap条目:
      • JRE系统库[java-6-openjdk-amd64]
    • 用户条目:
      • 转换器(默认类路径)
        • 转换器
  • 自从我上次成功运行Converter.java以来,它的路径没有改变

非常感谢您的帮助

我认为你应该重建你的项目。您可以通过单击项目>清理来完成此操作


有时,Eclipse的自动构建在类的重构或移动方面存在问题。

我遇到了同样的错误消息。对我来说,我是在linux上,发出java命令的用户没有足够的权限访问类路径上JAR的目录。

如果您可以发布eclipse的屏幕截图,其中扩展了包结构,并在编辑器中打开了转换器类。您的项目在包资源管理器中是否显示任何错误?Problems视图中有错误吗?您是否尝试过处理“混乱”的Eclipse工作区的标准技巧?刷新(F5)工作区。重新启动Eclipse。关闭/打开项目。删除项目(不要选中从磁盘删除!!!)并重新导入。当您说运行时,我假设您正在单击顶部的运行图标。尝试右键单击package视图中的Converter类,然后选择RunAs->java application。是否尝试检查项目的运行配置?如果一个项目包含许多带有main方法的类,那么您必须从运行配置中选择应该执行哪个类的main方法。嘿,伙计们,谢谢你们的建议。关闭/重新打开项目将从项目图标中删除红色感叹号。刷新项目、重新启动Eclipse和重新启动机器似乎没有任何改变。删除项目并重新导入解决了问题!!!谢谢Stephen C-将此作为答案发布,我会接受:)