Java 错误: 找不到或无法加载主类。怎么办?

如题所述

    检查环境变量配置:

    JAVA_HOME:D:\Java\jdk1.8.0_91

    CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有英文点号)

    Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

    设置没问题。java -version测试,显示JDK版本正常;

    我很确定自己的JDK设置没问题,在Eclipse下JAVA文件执行正常,但显示  错误: 找不到或无法加载主类 j2se001.HelloWorld 真的好无奈。

    1.网上说要把jdk环境变量设置到用户变量,而不是用户变量;设置后无效,都重启过电脑,没毛用;

    2.此帖子给帮了大忙:http://bbs.csdn.net/topics/391862656?page=1

    主要观点就是:JDK编译正常,那么JAVA_HOME配置正确。如果这样的话,那你的HelloWorld类的放的实际位置,package设置的和类路径的设置不匹配,执行器找不到类文件;说白了就是编译后的class文件的路径问题。

    两种解决办法:

    1.把package语句去掉,让编译文件处于当前文件夹

    例如我将java文件的package去掉,放在D盘根目录

    2.不去掉package,在java文件同级目录加一个package相同名称的文件夹;

    HelloWorld.java在src的j2se001文件夹下,j2se001下建一个同package名称的文件夹

    或者下面这种,与上面实质是一样的,只是在哪个目录执行java类文件(还是在java类文件同级目录建一个同package名称相同的文件夹);

    删package或者加package同名folder的实质:执行器指向package文件夹

    【简介】:

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程  。

    Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点  。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答