Linux运行java文件报错:Error: Could not find or load main class

在学习JVM时,为避免IDE配置繁琐,尝试通过命令行运行Java程序,但遇到了'Error: Could not find or load main class'的问题。原因是CLASSPATH未设置正确和对package路径的依赖。解决方法是将java文件中的包名删除,然后在文件所在目录重新编译运行。此方法简化了环境变量的修改,直接在本地执行。
摘要由CSDN通过智能技术生成

背景

还记得上一次用命令行编译运行java文件还是在大学刚接触java的时候,今天由于在学习jvm相关知识,为了避免在idea来回添加vm参数的麻烦,选择直接在虚拟机上添加运行时参数来学习相关命令,但在运行java文件时报错:Error: Could not find or load main class。找不到或无法加载主类

问题原因

一、java执行class文件是根据CLASSPATH指定的地方来找,不是我们理解当前目录。如果希望它查询当前目录,需要在CLASSPATH中加入“.;”,代表当前目录。

二、java执行class文件对package的路径是强依赖的。它在执行的时候会严格以当前用户路径为基础,按照package指定的包路径转化为文件路径去搜索class文件。

解决方案

我偷了个懒,没改环境变量,直接把java文件里的包名全部删掉,然后重新在文件所在目录编译运行即可。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

紫荆之后-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值