使用java.exe运行.class文件 - 错误:无法找到或加载主类

时间:2014-09-06 17:01:46

标签: java class main

代码:

package pack1;

public class Demo01 {

public void run() {
    System.out.println("--running Demo01--");
    demoMethod1();
}

private void demoMethod1() {
    int foo = 5;
    int bar = 10;

    int res = foo+bar;
    System.out.println("res: "+res);
}

public static void main(String[] args){
    Demo01 demo01 = new Demo01();
    demo01.run();
    // new change...

    Demo02 demo02 = new Demo02();
    demo02.run();
    }
}

休息可以在这里找到:https://code.google.com/p/ci-research-teamcity-test-project/source/browse/#svn%2Ftrunk%2Fsrc%2Fpack1

我正在尝试通过命令行使用java.exe运行.class文件无济于事。 是的我已经找到了解决方案,尝试使用-cp标志运行根文件夹,但我一直收到相同的错误。在Eclipse中运行得很好。

1 个答案:

答案 0 :(得分:2)

好的,我们现在要注意几点。

该课程在一个包中。因此,它必须在文件夹名称中与包名称完全相同(在您的情况下为“pack1”)。

您的文件夹结构必须如下:

"root folder" (X)
| pack1
  | Demo01.class
  | Demo02.class (as I just noticed that you are also referring to it in the code)

然后,为了启动它,你必须在“pack1”的父文件夹(这必须是当前的工作目录;用X标记)并执行

java pack.Demo01

注意,你必须使用整个规范类名来引用它,最后不要使用.class。

如果您不想或不能将当前工作目录更改为“根文件夹”,则可以使用-cp PATH作为java.exe的第一个参数。