Windows cmd命令行运行Java 错误:找不到或无法加载主类

在Windows上运行Java程序时遇到错误:找不到或无法加载主类。该问题可能由于class文件缺失、Java代码错误、环境变量配置不当、路径问题或版本不匹配引起。检查包括确认class文件存在、Java代码规范、配置classpath、切换到class文件目录运行、正确使用javac和java命令,并注意包声明。确保使用相同版本的javac和java,必要时更新环境变量或卸载多余Java版本。
摘要由CSDN通过智能技术生成

使用Windows自带cdm窗口运行Java提示错误:

1.检查当前进入的路径下是否包含class文件

class文件是java虚拟机能识别的二进制文件,由java文件编译生成。运行java程序时,“.java”后缀文件并不是必须的,只要有class文件就可以运行。一般通过IDE开发工具开发Java项目时,class和java文件会被分别生成到不同目录,因此从cmd运行java程序时会找不到class文件,导致上述错误。因此可以将class文件和java文件拷贝到同一个目录中。

2.检查Java程序(“.java”后缀文件)代码内容:

  • Java保存的文件名必须与类名一致;
  • 如果文件中只有一个类,文件名必须与类名一致;
  • 一个Java文件中只能有一个public类;
  • 如果文件中不止一个类,文件名必须与public类名一致;
  • 如果文件中不止一个类,而且没有public类,文件名可与任一类名一致。

另外,通过java文件使用javac命令生成class文件时,class文件的文件名也将与java文件的文件名保持一致。

 3.检查环境变量配置,具体可以百度如何配置环境变量,尤其是:

在classpath的最前面要加一个本目录路径,用”.“表示,如果后面还有其他路径内容,则“.”要加“;”进行分隔表示。注意都是英文状态下的字符。

这样在运行java命令运行程序时,才会在当前路径下搜索到包含当前类的class文件。

4.打开cdm跳转到class文件所在路径后再运行

在cmd下运行javac 和java的时候,必须在该java文件的目录下运行,这样生成的class也在该目录下,java的时候也会第一个就在本目录下找class文件,就不会提示找不到了。进入cmd就会直接到c:\个人文件夹下,而一般的java文件会用其它软件编写,放在选定的路径下,这两个路径很少能主动重合,因此需要注意。

5.运行命令

使用“javac(空格)文件名.java”命令编译当前java文件,如果没有报错则会生成class文件,待生成class文件后,使用“java(空格)类名”的方式运行代码。注意此处使用java命令时,后面不能带有“.class”后缀或“.java”后缀,通过tab键是默认给加后缀的,运行前建议最先检查下,如果加了需要把“.class”删除。

6.关于路径问题,如果java代码中包含“包”的声明,需要特别注意

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

包语句的语法格式为:package pkg1[.pkg2[.pkg3…]]; 通常放在文件的最开头。

在包下的类,需要在“.java”文件所在目录使用javac进行编译(会在当前目录生成class文件),然后返回包的最外层目录运行,包名的嵌套关系使用“.”进行连接,最后跟上类名,例如:“java pkg1.pkg2.classname”。

7. 使用windows自带的cmd或者编程工具提供的虚拟Terminal窗口或者PowerShell均可以运行java代码,但PowerShell的输入重定向不同于cmd。cmd中才可以使用“ < "进行输入重定向。

PowerShell中的输入重定向:

PowerShell中使用“ < "会报错:

8.运行时出现错误Error: A JNI error has occurred, please check your installation and try again

原因是:使用了不同java版本的javac和java命令,即编译java程序的java版本和运行java程序的java版本不同。

可以使用如下命令比对一下版本:

javac -version
java -version

解决方法:

①卸载电脑上多余的java版本,仅保留一个,可以手动卸载,也可以使用java官网有专门的卸载工具,地址:https://www.java.com/zh_CN/download/faq/remove_olderversions.xml

②检查电脑环境变量设置,将多余版本的环境变量删去。

③强制使用同一种版本的java和javac,可以通过编程工具带有的虚拟环境完成,例如在idea中直接编译运行。

如有其他问题及解决方法欢迎在评论区补充交流!

参考链接 :

http://xinzhi.wenda.so.com/a/1523443002618642
https://www.cnblogs.com/baby-zhude/p/7918724.html
https://blog.csdn.net/zhaofen_7/article/details/90273128
https://jingyan.baidu.com/article/fdffd1f876ca76f3e88ca14c.html

根据引用中提到的问题,当出现"错误: 不到无法加载主类 java"的错误时,可能是由于JDK或操作系统环境的问题。可以尝试在cmd下使用javacjava命令来运行程序,如果仍然报错,则需要检查JDK或操作系统环境是否正确安装和配置。 另外,根据引用和引用中提到的问题,还有可能是项目的Java Build Path中的Libraries中某个jar包不可用,或者jar包的Source attachment指向了一个不可用的jar包。此时,可以尝试删除或重新加载这个jar包,以解决不到主类的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [错误: 不到无法加载主类](https://blog.csdn.net/hacker_Lees/article/details/70765790)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [解决 :提示错误不到或者无法加载主类” 的一个方法](https://blog.csdn.net/weixin_43873711/article/details/103634180)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值