找不到或加载主类

24

我使用Windows 7操作系统,已安装jdk1.7.0及其支持的jre7。
我的问题是编译部分完美运行,但在运行Java程序时,我遇到了以下错误:

"无法找到或加载主类"

我将所有程序存储在名为javalab的文件夹中,并设置了路径。该过程如下所示:

C:\Users\user>cd\
C:\>cd javalab
C:\javalab>autoexec.bat
C:\javalab>set path=C:\Program Files\Java\jdk1.7.0\bin
C:\javalab>javac p1.java
C:\javalab>java p1 Error: Could not find or load main class p1
C:\javalab>

你的p1.java文件是否在某个包内? - Santosh
1
p1.java 的内容是什么样子的?它包含一个名为 p1 的类吗(大小写敏感)?它包含一个 package 语句吗? - Joachim Sauer
你能描述并展示p1.java的代码吗?你的p1.java是否有main方法? - Sal
可能是“Could not find or load main class”是什么意思?的重复问题。 - Enamul Hassan
16个回答

1

我在Eclipse中遇到了类似的问题。每当我点击运行按钮时,它都会给我一个错误消息,"Error: Could not find or load main class"。但是当我在项目资源管理器中右键单击Java文件并选择“以Java配置方式运行”时,它可以完美地运行。

我认为这是因为Eclipse默认尝试以其他配置运行它,这会导致问题。

希望这个答案对某些人有所帮助。


1
如果您需要使用命令行编译单个 .java 文件,则需要从代码中删除最上层的包部分,然后重新编译,这样就可以正常工作。
这对我很有效。

1

首先,将您的文件*.class(例如Hello.class)放入一个文件夹中(例如C:\java)。然后尝试使用命令并输入cd /d C:\java。现在您可以键入“java Hello”!


1
我已将其编辑为 CD /d C:\java - /d 表示必要时在驱动器之间切换。或者,您可以使用更常见的 CD\java,只要您已经在 C: 驱动器上就可以工作。 - Basic

0

我在我的项目名称中使用了冒号,例如 'HKUSTx:part-2',将其改名为 'HKUSTx-part-2' 对我有用。


0
有时候导致问题的原因可能与主类没有任何关系。我不得不通过艰难的方式找出这一点,它是一个我移动的引用库,它给了我以下错误提示:

无法找到或加载主类 xxx Linux

我只是删除了那个引用并重新添加,然后它又正常工作了。

-2

你可以使用免费下载和使用的NetBeans IDE,它是“开源”的。你甚至可以在这个IDE中使用其他编程语言。最新版本支持HTML5,这使得你的编程更加容易。如果你不熟悉它,选择一本与NetBeans集成的书籍,比如Sams Teach Yourself Java in 24 Hours


3
这并没有回答实际问题。 - Don Cruickshank

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接