Could not find or load main class
我有Windows7,安装了JDK1.7.0及其支持的JRE7。我的问题是编译部分工作得很好,但是在运行Java程序时,我得到这样的错误:
"Could not find or load main class"
我将所有程序存储在javalab文件夹中。我已经为它设定了道路。过程如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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> |
我的第一个Java程序也有类似的问题。
我发出这个命令
1 | java HelloWorld.class |
这导致了同样的错误。
原来你需要排除.class
1 | java HelloWorld |
尝试:
1 | java -cp . p1 |
当我遇到同样的问题时,使用Fedora(Linux),这对我很有用。
编译和执行Java文件的简单方法。(HeloRoL.D.java不包含任何包)
1 2 3 4 | set path="C:\Program Files (x86)\Java\jdk1.7.0_45\bin" javac"HelloWorld.java" java -cp . HelloWorld pause |
javac应该知道在哪里搜索类。试试这个:
1 | javac -cp . p1.java |
不需要指定类路径。您确定文件p1.java存在吗?
我有几乎相同的问题,但有以下变化:
这很奇怪,我不能完全理解。希望它能帮助别人。也是。
首先检查你的类名。根据批处理文件说明,它应该是p1。然后检查该类的包,如果它在任何包中,请指定运行的时间。
如果包装是
1 | java x.y.p1 |
我想你在
下面是我的工作环境路径变量,在故障排除之后
类路径
;C:程序文件(x86)javajRe7LbExtqtjava. zip;c:程序文件(x86)javajdk1.60y27 27 bin
路径<---有时这条路径会被太多的路径填满,您不能添加路径(这是我的情况!)
BunCHOFFATH;C:程序文件(x86)javajdk1.60y27 27 bin
另外,当您尝试使用cmd来执行文件时……请确保您在本地目录中的文件是您试图执行的文件(您已经执行了)。
只是一个小清单,为仍然有这个问题的人。
我也遇到过类似的问题。如果您使用Eclipse,您需要转到您拥有SRC/文件夹的文件夹…如果你用的是包裹-那么你用的是
1 | javac -cp . packageName/className |
这意味着如果你有一个名为def的包,并且有一个名为textframe.java的主类,你会写
1 | javac -cp . def/TextFrame |
省略尾随.java扩展,然后用
1 | java def/TextFrame |
如果您有参数,那么您需要为它提供与您的程序对应的参数。我希望这能有所帮助。
您可能已经添加了classpath环境变量!!
使用下列方法避免在
添加。到系统属性->环境变量或命令中的类路径
首先,将您的文件
我在日食中也遇到了类似的问题。每当我单击运行按钮时,它会给我一条消息:"错误:找不到或加载主类"。但是,当我在项目资源管理器中右键单击Java文件并以Java配置运行时,它运行良好。
我认为这是因为它在默认情况下尝试在其他一些导致问题的配置中运行它。
希望这个答案有帮助。
如果有一个使用命令行编译的.java文件,则删除最顶层的包部分来自代码,再编译一遍,它就可以工作了。
这对我很有用。
我有
':'
在我的项目名称中,例如"香港科技大学:第2部分"改名为"hkustx-part-2"对我有效
有时,导致这个问题的原因与主类无关。我不得不艰难地找到这个,我搬走的是一个参考图书馆,它给了我:
Could not find or load main class xxx Linux
我只是删除了那个引用并再次添加,它再次运行良好。
您可以使用NetBeans IDE,它可以免费下载和使用"开源"。您甚至可以在这个IDE中使用其他编程语言。它支持HTML5的最新版本。这使您的编程更容易。如果你不熟悉它,那么选择一本NETBeas集成的书,比如SAMS,在24小时内自学Java。