编译Java源文件时出错

时间:2012-10-16 14:19:30

标签: java

我是Java的初学者,我创建了这个类:

class test
{
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
}

作为test.java,当我用这个cmd编译它时:

javac C:\Users\Aimad\Desktop\test.java

然后:

java C:\Users\Aimad\Desktop\test.class

我收到了这个错误:

  

无法找到或加载主类C:\ Users \ Aimad \ Desktop \ test.class

6 个答案:

答案 0 :(得分:2)

你所写的问题是你添加了“.class”。通过编写此文件,您已指示Java.exe在您当前所在的目录下的“test”目录中查找名为“class”的类文件。要使代码工作,请删除“.class”扩展名,并且您需要首先导航到命令行中的文件。此外,保存main方法的类必须声明为“public”。

<强>代码

public class test
{
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
}

命令行

cd C:\Users\Aimad\Desktop
java test

答案 1 :(得分:1)

尝试使用::

java C:\Users\Aimad\Desktop\test

答案 2 :(得分:1)

解决方案是:

% cd C:\Users\Aimad\Desktop
% java test

% java -cp C:\Users\Aimad\Desktop test

说明:

  1. java命令的参数必须是类的完全限定名。在您的情况下,由于您的类在“默认”包中声明,因此FQN是“test”。

  2. java命令需要能够通过类路径获得类(即“test.class”文件)。默认的java类路径是.,因此第一个解决方案是更改为包含“test.class”文件的目录,以便可以将其作为“。\ test.class”进行访问。第二种解决方案使用-cp参数指定非默认类路径。

  3. 请注意,使用路径名来标识该类将无法使用“.class”后缀或删除“.class”后缀...(除上述情况外)

答案 3 :(得分:0)

$ cd C:\ Users \ Aimad \ Desktop $ java -cp。测试

并将课程设为公开

在运行程序时无需指定.class和路径它应该是完全限定的类名:)

答案 4 :(得分:0)

转到.class文件所在的目录,然后键入运行程序的命令。

答案 5 :(得分:0)

对于execution,您无需撰写java C:\Users\Aimad\Desktop\test.class文件是机器可读的,所以我们不需要调用它们。

只需添加public class name,例如java C:\Users\Aimad\Desktop\test

阅读here