1.问题:
很多时候,我们需要在Linux终端编译并运行普通Java程序,但是会遇到以下问题:
错误:找不到或无法加载主类”
2.问题原因及解决办法
其实原因很简单,可能由两方面造成。
原因一
java在运行.class文件时,需要寻找该class文件的具体地址(也就是全路径),默认是通过CLASSPATH环境变量中指定的目录中寻找的。
解决办法:
我们直接更改CLASSPATH环境变量,在开头加上 “.:” 即可。
(“.”的意思是搜索当前目录)
如下图:
①Linux中更改环境变量的方法:
#首先cd进入系统环境变量配置文件
cd /etc/profile
②找到CLASSPATH的环境变量,改成以下格式(要求开头是 ‘ .:’ 后面可以默认是自己的不改)
export CLASSPATH=.:$JAVA_HOME/lib/
③:wq保存并退出;然后执行下面的命令,重新加载配置文件,使其生效。
source /etc/profile
原因二:
Java代码开头package的影响。
如图:
我们在Windows中用IDEA编写Java代码时,都是默认按照package规定的路径来存放源文件的,
在Linux是同样的道理,我们都Java文件要存储在package规定的路径下;
解决办法:
直接删去开头的package包路径
或者在运行Java文件时,正确的指定源文件路径;
类似下图这种格式:
参考文章:
Linux执行java命令 错误: 找不到或无法加载主类_linux 执行java -jar命令提示错误: 找不到或无法加载主类-CSDN博客
Linux中用java命令运行class文件提示“错误:找不到或无法加载主类”的问题分析_linux运行class文件找不到或无法加载主类-CSDN博客