2014-10-22 32 views
-1

我试着去执行一个简单的Java代码(我已经没有问题,编译它),但它给了我一个错误:错误的Java exectuing

C:\用户\亚历\桌面>的java HelloWorld.java 错误:无法找到或加载主类。

的代码是下一个:

public class HelloWorld{ 

    public static void main(String[] args){ 

     System.out.println("Hello world!"); 

    } 
} 

-I已正确设置PATH变量。 - 我删除了CLASSPATH变量。 - 我的桌面中有两个文件(.java和.class)。

+0

你检查你的命令提示符下键入'java'? – 2014-10-22 09:57:22

+0

@SanKrish是的,它确实有用。 – 2014-10-22 09:58:32

+0

编译像'javac HelloWorld.java'并且应该像这样执行'java HelloWorld' – 2014-10-22 09:59:46

回答

2

您在指定源文件的名称。这不是您提供给java命令的内容 - 您指定类名称

java HelloWorld 

这是假定HelloWorld.class在类路径,这将默认为“当前目录”的地方。

如果您有包装,例如

package foo; 

public class HelloWorld { 
    ... 
} 

那么你会希望把HelloWorld.java在一个名为foo目录,编译并运行从根目录:

> javac foo\HelloWorld.java 
> java foo.HelloWorld 

注完全合格的类名怎么现在foo.HelloWorld,不foo\HelloWorld

+0

哦,该死的,我很笨,谢谢,它现在工作了! :) – 2014-10-22 10:00:55

+0

这将意味着HelloWorld有一个包声明,不是吗? – 2014-10-22 10:01:10

+0

@AmanuelNega:那是什么意思?问题中的代码没有包声明,但是我已经展示了一个例子,它*有一个包声明以避免问题。 – 2014-10-22 10:12:38

0

当您运行编译的文件时,您应该只使用类名称。编译后的文件将具有.class的扩展名,但不应添加任何扩展名。只需使用类名即可。

变化

c:\Users\alejandro\Desktop> java HelloWorld.java 

c:\Users\alejandro\Desktop> java HelloWorld