Java 损坏的Eclipse项目-classNotFoundException-找不到主类
我有一个项目,我一直在Ubuntu 12.04上的Eclipse3.7.2中开发。最近,我重新构造了类层次结构,它涉及在包之间移动类。我没有移动我的主类(“ob3.converter.converter”),它包含我的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
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]
- 用户条目:
- 转换器(默认类路径)
- 转换器
- 转换器(默认类路径)
- Boostrap条目:
- 自从我上次成功运行Converter.java以来,它的路径没有改变
非常感谢您的帮助 我认为你应该重建你的项目。您可以通过单击项目>清理来完成此操作
有时,Eclipse的自动构建在类的重构或移动方面存在问题。我遇到了同样的错误消息。对我来说,我是在linux上,发出java命令的用户没有足够的权限访问类路径上JAR的目录。如果您可以发布eclipse的屏幕截图,其中扩展了包结构,并在编辑器中打开了转换器类。您的项目在包资源管理器中是否显示任何错误?Problems视图中有错误吗?您是否尝试过处理“混乱”的Eclipse工作区的标准技巧?刷新(F5)工作区。重新启动Eclipse。关闭/打开项目。删除项目(不要选中从磁盘删除!!!)并重新导入。当您说运行时,我假设您正在单击顶部的运行图标。尝试右键单击package视图中的Converter类,然后选择RunAs->java application。是否尝试检查项目的运行配置?如果一个项目包含许多带有main方法的类,那么您必须从运行配置中选择应该执行哪个类的main方法。嘿,伙计们,谢谢你们的建议。关闭/重新打开项目将从项目图标中删除红色感叹号。刷新项目、重新启动Eclipse和重新启动机器似乎没有任何改变。删除项目并重新导入解决了问题!!!谢谢Stephen C-将此作为答案发布,我会接受:)