英文:
Java Error: Could not find or load main class (ClassNotFoundException)
问题
我有一个Java文件hello.java
public class hello {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
我输入javac hello.java
命令进行编译,并成功在相同路径下生成了一个.class文件(反编译版本)。
// 源代码不可用,并由Fernflower反编译器生成。
public class hello {
public static void main(String[] var0) {
System.out.println("Hello World");
}
}
然而,当我尝试用java hello
命令运行hello类的主函数时,它总是抛出ClassNotFoundException。
PS D:\Study\JAVA> java hello
错误: 找不到或无法加载主类hello
当我尝试使用VS Code的内部调试功能时,主函数正常工作,因此我可以确认内部没有错误。
我也可以确认我在命令中使用的类名完全正确。我不明白为什么会一直显示这个ClassNotFoundException。
我知道这只是一个非常基本的问题(也许很愚蠢)。非常感谢任何可能的答案。
我正在使用Java 1.8.0_311。
我用javac hello.java
编译了Java文件,它正常工作。
然后我可以看到一个Java类文件 - hello.class已经生成。
我尝试了很多次运行java hello
,但总是得到ClassNotFoundException。
我尝试重启IDE或删除并重新编写整个文件,但都没有用。
英文:
I have a java file hello.java
public class hello{
public static void main(String[] args) {
System.out.println("Hello World");
}
}
I entered javac hello.java
command to compile it and successfully generated a .class file in the same path hello.class (decomplied version)
// Source code is unavailable, and was generated by the Fernflower decompiler.
public class hello {
public static void main(String[] var0) {
System.out.println("Hello World");
}
}
However when I try to run the main function for hello class with the command java hello
, it always turn out to throw a ClassNotFoundException
PS D:\Study\JAVA> java hello
Error: Could not find or load main class hello
When I tried internal debug feature of VS Code, the main function worked normally so I can confirm that the function inside has no error.
I can also confirm the class name I applied in my command completely correct. I dont understand why this ClassNotFoundException always show up.
I know it's just a very basic question (maybe stupid). Many thanks for any possible answer.
I'm using java 1.8.0_311
I compiled the java file with javac hello.java
and it works normally.
Then I can see a java class file - hello.class has been generated.
I tried many times to run java hello
but always get ClassNotFoundException.
I have tried restarting the IDE or delete and rewriting the whole file but none of them works.
答案1
得分: 0
这对我来说是有效的(在Linux上)。然而,我没有在Windows上安装Java来进行测试。
您可以尝试 java -cp . hello
,这将明确设置类路径为当前目录,这应该允许 java
找到该类。
英文:
Doing exactly that works for me (on Linux). However, I don't have java installed on Windows to test.
You can try java -cp . hello
which will explicitly set the classpath to the current directory, which should allow java
to find the class.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论