2024-06-12 16:16:26 | 我爱编程网
最近有用户到本站反映这样一个问题,就是在使用记事本尝试编辑“helloworld!”时在命令运行java文件的时候,生成class文件后,再运行java 类名命令出现错误提示“找不到或无法加载主类”,该怎么办呢,现在为大家分享一下详细的解决方法供大家参考。
1、检查环境变量配置,我的安装路径是F:javajdk1.8.0_91,因为是6以上版本,故不需配置Classpath,主要是找到path路径检查,我的path路径:F:javajdk1.8.0_91bin,路径像我这样又可以分别运行“Java”“javac”“Java -version”说明配置对了
2、检查代码,代码要有main并且不能写错,大写的注意:图中红线画出的package aaa应该去掉
3、下图为正确的代码图;
4、值得注意的是文件名要与类名相同,如图类名是AAA,另存文件名应该为AAA.java,如图颜色画出部分相同,点击保存,Win+R——输入cmd回车——输入h:(切换到保存AAA.java文件的h盘)回车——javac AAA.java 回车(窗口抖一下)——java AAA 回车,命令提示符就会出现hello world!了
//这个问题原因有以下几种,但是和环境变量并没有太大的关系
//能够执行java 和 javac 就证明你的环境变量已经配置好了,其实 classpath 可以不配置
//假如有如下文件:H:\code\Hello.java
public class Hello{
public static void main(String[]args){
System.out.println("Hello");
}
}
//正确编译命令: javac Hello.java
//正确运行命令: java Hello
错误1:H:\code>java Hello.java
错误: 找不到或无法加载主类 Hello.java
原因:命令错误
错误2:H:\code>java Hello.class
错误: 找不到或无法加载主类 Hello.class
原因:命令错误
错误3:java 源文件带有包名,往往容易出错
如:H:\code\Hello2.java
package com.example;
public class Hello2{
public static void main(String[]args){
System.out.println("Hello2");
}
}
这代码看上去没什么问题,执行:
H:\code>javac Hello2.java
H:\code>java Hello2我爱编程网
错误: 找不到或无法加载主类 Hello2
解决办法:
+.删除包名 或者
+.在code 下创建一个与包名相同的文件结构(H:\code\com\example\Hello2.java)
编译:H:\code>javac com/example/Hello2.java
运行:H:\code>java com.example.Hello2
我爱编程网(https://www.52biancheng.com)小编还为大家带来java程序编译通过但是运行时显示“找不到或无法加载主类 helloworld ” ,怎么解决?的相关内容。
既然javac编译已经通过,这说明变量java-home已经配置的没有问题了。
(java-home对应的变量值为javac.exe所在的路径;一般是在安装路径下,例如c:\Program Files\Java\jdk1.7.0_45\bin)。
那第一种可能就是:问题就出在Path变量对应的变量值上或者是新建用户变量classpath上有问题,你重新配置一下。Path对应的变量值是在原来的变量值前面加上%Java_Home%。
第二种可能就是:你的环境变量都是正确的,只是你编译的java源文件中,主函数public static void main(String args[]){}没有写在main这个类中。
一个java源文件可以写很多类,编译的时候javac源文件之后,每个类生成一个class文件。你去运行的时候,并不一定是去java源文件名,而是去java主函数所在的那个类名。
第三种可能就是:像intopass说的那样,你在eclipse写的时候里面会有package,你把它删掉试试。
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00