代码改变世界

java错误: 找不到或无法加载主类

2021-03-03 23:48  ᵬyŧểᵬyŧȅ  阅读(252)  评论(0编辑  收藏  举报

检查环境变量配置:

JAVA_HOME

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

PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

环境变量设置没问题。通过java -version命令测试,显示JDK版本正常;

在IDEA下JAVA文件执行正常,但cmd执行java HelloWorld,却显示“错误: 找不到或无法加载主类 com.company.HelloWorld” 。

 

查询网上主要观点就是:JDK编译正常,那么JAVA_HOME配置正确。

如果这样的话,那就是HelloWorld类的放的实际位置,package设置的和类路径的设置不匹配,执行器找不到类文件【就是编译后的class文件的路径问题】。

 

两种解决办法:

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

例如把java文件中的package去掉

 

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

HelloWorld.java在src的com文件夹下,com下建一个跟package名称一样的文件夹

 javac -encoding UTF-8 com/company/HelloWorld.java

 java com.company.HelloWorld

 

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

 javac -encoding UTF-8 HelloWorld.java

 java com.company.HelloWorld

 

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

原文链接:https://blog.csdn.net/qinshijangshan/article/details/53048342