检查环境变量配置:
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
原文:https://www.cnblogs.com/mlgdsb/p/14477790.html