【发布时间】:2012-05-08 13:39:23
【问题描述】:
我的 Eclipse (Indigo) 运行良好。我创建了一个简单的类Hello。它位于文件夹ch13 中的包cont 中。但是,当我尝试从 Eclipse 运行它时,我会从 Java 虚拟机启动器获取信息:
Could not find the main class: cont.Hello.
我试图从这个包中运行其他类,它们运行得很好(那是以前存在的类)。然而,我在这个包中创建的任何新类都有这些问题。实际上,我在 Eclipse 中创建的任何新类都会遇到这个问题。我决定从命令行检查它是如何工作的。似乎问题仍然存在 - 我得到同样的错误。我检查了路径,它是C:\Program Files\Java\jdk1.7.0_02\bin,这是正确的(注意其他类可以从 Eclipse 运行)。我尝试使用java -cp . Hello 运行,并且以java.lang.NoClassDefFoundError: Hello (wrong name: cont/Hello) 开头产生了一些错误。代码本身很简单:
package cont;
public class Hello {
public static void main(String[] args){
System.out.println("Hello");
}
}
我怎样才能修复它,以便我的类仍然在 Eclipse 下运行?
【问题讨论】:
-
eclipse是否为Hello生成了.class文件?如果你使用 maven,我认为它通常在 bin/ 或 target/ 中
-
没有使用 maven。试图在 cont 文件夹中查找类,但没有。即使从命令行编译(类在文件夹中)它也不会启动
-
可能有很多问题。我会检查源文件夹是否在正确的构建路径上(右键单击您的项目-> 属性-> java 构建路径-> 源并确保选择 src 文件夹之前的路径),还要检查相同的输出文件夹路径方式..
-
看来你是对的 htulsiani。请提出这样的问题,我会接受它作为正确答案。谢谢
-
我遇到了同样的问题,并在此线程上找到了更好的解决方案(第二个答案):stackoverflow.com/questions/11239086/… 这是一个更好的解决方案,因为您不必删除 .metadata 并浪费宝贵的时间重新导入项目和 ui 设置