[英]Could not find or load main class
我有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>
我的第一个java程序遇到了类似的问题。
我发出了这个命令
java HelloWorld.class
这导致了同样的错误。
原来你需要排除.class
java HelloWorld
尝试:
java -cp . p1
当我遇到同样的问题时,这对我有用,使用Fedora(linux)
编译和执行java文件的简单方法。(HelloWorld.java不包含任何包)
set path="C:\Program Files (x86)\Java\jdk1.7.0_45\bin"
javac "HelloWorld.java"
java -cp . HelloWorld
pause
javac应该知道在哪里搜索课程。 试试这个:
javac -cp . p1.java
您不应该指定classpath。 你确定文件p1.java存在吗?
我有几乎相同的问题,但有以下变化:
这是非常奇怪的行为,我无法完全理解它。 希望它会对某人有所帮助。 太。
经过多次故障排除后,这是我工作的env路径变量
CLASSPATH
。; C:\\ Program Files(x86)\\ Java \\ jre7 \\ lib \\ ext \\ QTJava.zip; C:\\ Program Files(x86)\\ Java \\ jdk1.6.0_27 \\ bin
路径<---有时这个路径填满了太多的路径,你不能添加路径(这是我的情况!)
bunchofpaths; C:\\ Program Files(x86)\\ Java \\ jdk1.6.0_27 \\ bin
此外,当您尝试使用cmd执行文件时...请确保您在本地目录中作为您尝试执行的文件(您已执行此操作)。
对于仍有这个问题的人来说,只需要一个小清单。
我想你在p1.java
有一个不同的类名
首先检查你的班级名称。 根据您的批处理文件说明,它应该是p1。 然后检查该类的包,如果它在任何包中,请指定何时运行。
如果包是xy
java x.y.p1
我遇到过类似的问题。 如果您使用Eclipse,您需要转到您拥有src /文件夹的文件夹...如果您使用了包 - 那么您使用
javac -cp . packageName/className
这意味着如果你有一个名为def的包和名为TextFrame.java的主类,你就会写
javac -cp . def/TextFrame
省略尾随的.java扩展名,然后用它运行它
java def/TextFrame
如果你有参数,那么你需要为它提供与你的程序相对应的参数。 我希望这能有所帮助。
您可能已经添加了CLASSPATH环境变量!
使用以下命令以避免进一步使用-cp .
在java -cp . CLASSFILE
java -cp . CLASSFILE
添加。 到系统属性 - >环境变量中的CLASSPATH或cmd
set CLASSPATH=%CLASSPATH%;.;
我在Eclipse中遇到了类似的问题。 每当我点击“运行”按钮时,它都会给我一条消息:“错误:无法找到或加载主类”。 但是当我右键单击项目资源管理器中的java文件和Run As Java配置时,它完美地运行。
我认为这是因为它默认尝试在导致问题的其他配置中运行它。
希望这个答案有所帮助。
如果您有一个.java文件要使用命令行进行编译,那么从代码中删除最顶层的包部分,再次编译,它将起作用。
这对我有用。
首先,将您的文件*.class
(例如Hello.class
)放入1个文件夹(例如C:\\java
)。 然后你尝试命令并输入cd /d C:\\java
。 现在你可以输入“java Hello”了!
有时可能导致问题的原因与主类无关。 我不得不以困难的方式找到它,它是我移动的引用库,它给了我:
无法找到或加载主类xxx Linux
我只是删除了该引用并再次添加,它再次正常工作。
我有
':'
在我的项目名称中,例如'HKUSTx:part-2'重命名'HKUSTx-part-2'为我工作
您可以使用可以免费下载并使用“开源”的NetBeans IDE 。 您甚至可以在此IDE中执行其他编程语言。 最新的支持HTML5。 这使您的编程更容易。 如果您不熟悉它,请选择一本集成了NetBeans的书,如24小时内的Sams Teach Yourself Java
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.