Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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可以';无法查找/加载主类_Java_Eclipse - Fatal编程技术网

Java Eclipse可以';无法查找/加载主类

Java Eclipse可以';无法查找/加载主类,java,eclipse,Java,Eclipse,我的Eclipse(Indigo)运行得很好。我创建了一个简单的类Hello。它被放置在文件夹ch13的包cont中。但是,当我尝试从Eclipse运行它时,我从Java虚拟机启动器获得信息: Could not find the main class: cont.Hello. 我尝试从这个包中运行其他类,它们运行得很好(这是以前存在的类)。然而,我在这个包中创建的任何新类都有这些问题。实际上,我在Eclipse中创建的任何新类都会遇到这个问题。我决定从命令行检查它是如何工作的。看来问题仍

我的Eclipse(Indigo)运行得很好。我创建了一个简单的类
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的子目录中
  • 删除运行配置 有时我在一些eclipse的预发布版本中也遇到类似的问题。为了修复错误,我删除了运行配置。您可以在菜单运行运行配置

    然后我用Alt+Shift+X,然后是J启动应用程序。如果这不起作用,请按Ctrl+F11

  • 删除
    .metadata
    目录 另一方面,当前工作区的配置设置可能已损坏。这些设置位于当前工作区1的
    .metadata
    目录中。在这种情况下,除了删除目录外,别无选择:

  • 关闭eclipse
  • 删除
    .metadata
    目录
  • 开始eclipse
  • 导入项目
  • 再次运行项目

  • 注释

  • 您将看到带有文件的目录切换工作区其他…

  • .metadata
    已损坏

    步骤:

    警告:删除。元数据将删除所有Eclipse配置、插件和项目设置。在尝试此操作之前,请进行备份

  • 停止eclipse,删除工作区中的.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文件。这使得应用程序无法运行

    我也遇到了同样的问题,这是我的解决方案:

  • 我手动删除了项目的bin文件夹
  • 然后我刷新了项目,重新编译了整个项目,并创建了一个包含所有.class文件的新bin

  • 我这样做是因为当我执行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}的生成路径中检测到循环。这个