Java Eclipse可以';无法查找/加载主类
我的Eclipse(Indigo)运行得很好。我创建了一个简单的类Java Eclipse可以';无法查找/加载主类,java,eclipse,Java,Eclipse,我的Eclipse(Indigo)运行得很好。我创建了一个简单的类Hello。它被放置在文件夹ch13的包cont中。但是,当我尝试从Eclipse运行它时,我从Java虚拟机启动器获得信息: Could not find the main class: cont.Hello. 我尝试从这个包中运行其他类,它们运行得很好(这是以前存在的类)。然而,我在这个包中创建的任何新类都有这些问题。实际上,我在Eclipse中创建的任何新类都会遇到这个问题。我决定从命令行检查它是如何工作的。看来问题仍
Hello
。它被放置在文件夹ch13
的包cont
中。但是,当我尝试从Eclipse运行它时,我从Java虚拟机启动器获得信息:
Could not find the main class: cont.Hello.
我尝试从这个包中运行其他类,它们运行得很好(这是以前存在的类)。然而,我在这个包中创建的任何新类都有这些问题。实际上,我在Eclipse中创建的任何新类都会遇到这个问题。我决定从命令行检查它是如何工作的。看来问题仍然存在——我也犯了同样的错误。我检查了路径,它是C:\ProgramFiles\Java\jdk1.7.0\u 02\bin
,这是正确的(请注意,其他类在Eclipse上运行得很好)。我尝试使用java-cp运行。您好
并且产生了一些以java.lang.NoClassDefFoundError:Hello(错误名称:cont/Hello)
开头的错误。代码本身很简单:
package cont;
public class Hello {
public static void main(String[] args){
System.out.println("Hello");
}
}
如何修复它,使我的类仍然在Eclipse下运行?将文件移动到名为cont的子目录中
.metadata
目录
另一方面,当前工作区的配置设置可能已损坏。这些设置位于当前工作区1的.metadata
目录中。在这种情况下,除了删除目录外,别无选择:
.metadata
目录注释
.metadata
已损坏
步骤:
警告:删除。元数据将删除所有Eclipse配置、插件和项目设置。在尝试此操作之前,请进行备份强>
Eclipse的标准故障排除步骤应该包括在某个时候删除并重新导入项目,这在我处理此错误时是有效的。另一个提示:我以错误的顺序初始化了静态字段-令人惊讶的是,它没有带来问题(NullPointerException?),相反,Eclipse抱怨的恰恰是OP发布的消息。更正静态初始化顺序使该类可以运行。例如:
private static ScriptEngineManager factory = null;
private static ScriptEngine engine = null;
static {
engine = factory.getEngineByName("JavaScript");
// factory is supposed to initialize FIRST
factory = new ScriptEngineManager();
}
我用以下方法解决了这个问题: 转到运行配置(右键单击Java文件->运行->运行配置) 转到类路径选项卡: 单击高级->添加文件夹->添加bin目录(其中包含Java源代码的类文件)
重新运行代码,现在它将解决问题。它对我很有效我这样做解决了我的问题:
- 将整个main(CTRL X)从类中删除(仅几秒钟)
- 保存类文件(CTRL-S)
- 将主背面粘贴到完全相同的位置(CTRL V)
奇怪的是,在那之后它又开始工作了。在lib目录中,通过example可以有2个groovy-xxx-all.jar文件。这使得应用程序无法运行我也遇到了同样的问题,这是我的解决方案:
我这样做是因为当我执行Clean(project->Clean)时,我的.class文件没有被删除。上述解决方案对我有效,希望对其他人有用。我也遇到了同样的问题。我使用以下命令maven解决了这个问题: mvn eclipse:eclipse-Dwtpversion=2.0
PS:我的项目是WTP插件你必须在你的类中有主要功能。像
public class MyDataBase {
public static void main(String args[]) {
}
}
如果您使用的是预定义的运行配置,请转到classpath并尝试“还原默认项”。这将为该配置重新配置类路径。我发现解决此问题的方法是重命名项目。如果您给它一个带有奇怪字符的名称(在我的例子中是:),它将很难找到您的类。我不知道这条规则是否适用于数字,但请尝试重命名项目或创建新项目并复制文件。命名时不要使用任何数字或特殊字符。我在Maven项目中遇到过同样的问题。在项目中创建src/test/java文件夹后,错误消失了。这对我来说终于奏效了: 运行->运行配置->删除运行配置 月食 重新打开ECLIPSE 再次创建运行配置
Tadaaaa!!它可以工作重命名主类应该足够了(而且是最简单的):
-转到您的类并将游标设置为您的类名
-ALT+Shift+R并重命名该类(如果不是自动生成)
-你现在应该可以运行它了
-如果需要,将类重命名为旧名称 我解决了这个错误,关闭了项目,将其从eclipse中删除,然后再次导入
可能比重做整个工作区设置要简单一些。注意:这在过去是有效的,我收到了很多赞成票。也许这不再是一个解决方案——但它曾经是——正如eclipse版本所指出的那样
问题 这也可能是由Java构建路径问题引起的 就我而言,我有一个错误:
在项目{project}的生成路径中检测到循环。这个