java命令报错——找不到或无法加载主类

本文详细介绍了在命令行运行Java程序时遇到的环境变量配置错误、包名与文件名使用不当以及缺少.class文件等问题,并提供了具体的解决步骤。包括正确配置JAVA_HOME、CLASSPATH和Path环境变量,以及如何正确执行包含在软件包中的Java程序和编译生成.class文件。
摘要由CSDN通过智能技术生成

最近在命令行上运行java程序时出现了问题,百度了很多答案都没有解决(原因竟是我错误的地方太多了),经过我不断地寻找,终于把问题解决了。以下是我犯的错误和解决方法。

一、环境变量配置错误

解决方法:

1.JAVA_HOME应配置到jdk所在目录,比如jdk在C盘的Java目录下,那么就配置成"C:\Java\jdk"。(jdk应为实际下载的版本,此处简写了)。

2.CLASSPATH配置成".;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar",前面有一个".",注意配置时不能省略(建议直接复制)。

3.Path的配置:可以把之前配置的删除再按照我的方法去添加。"%JAVA_HOME%\bin","%JAVA_HOME%\jre\bin",把这两个配置到环境变量中就行了(是系统变量不是用户变量)。

二、若java文件是包含在软件包中的则执行时应写"包名.文件名"

比如我的一个java文件是在Package1包中,如图:

 若在命令行中执行如下命令:

就会出现  错误:找不到或无法加载主类 。(以上路径是我电脑上的,读者应根据实际情况写)

正确的方法是:

这样即可出现正确结果。

三、 没有生成".class"文件

(注意:上一个问题是在已有".class"情况下执行的,若没有也会出现错误。)

若没有".class"文件,如下:

 执行命令时会出现如下情况:

这种情况应编译一下;但是编译时若执行javac Package1.HelloWorld会出现错误:

正确的方法是在Package1下执行javac HelloWorld.java,如下:

此时会生成一个".class"文件,如下:

再执行命令即可:

以上就是我在执行过程中遇到的问题。 

  • 39
    点赞
  • 137
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
回答: 当出现java.lang.ClassNotFoundException错误时,通常是由于引入的类不在classpath下导致的。这个错误提示表明无法到或加载主类。\[2\]解决这个问题的方法是将JDK版本更改为适用的版本,例如将JDK版本更改为16.0.1。\[2\]另外,还可以检查classpath的设置是否正确。通常,将classpath设置为大包所在的位置是一个合理的选择,这样可以确保其他包也可以放在同一目录下,使结构更加清晰。\[3\]如果以上方法仍然无法解决问题,可以尝试其他解决方法或者请教其他专业人士。 #### 引用[.reference_title] - *1* *3* [java编译成功,但运行失败,即错误: 不到无法加载主类 原因: java.lang.ClassNotFoundException:](https://blog.csdn.net/G_jdhk/article/details/126317406)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【Java】 关于解决 错误: 不到无法加载主类 原因: java.lang.ClassNotFoundException 的方法](https://blog.csdn.net/weixin_45981415/article/details/118032907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值