1

我确信这是一个非常新手的问题,但多年后编写 Java 应用程序。我写了一个简单的java代码来打印“HelloWorld”

public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println(" inside MAIN !!!");
}

现在我在 eclipse 中创建了我的项目,结构是“/home/workspace/HelloWorld/src/com/android/test/helloworld/HelloWorld.java”& eclipse 在“/home/workspace/HelloWorld/bin”创建了.class /com/android/test/helloworld/HelloWorld.class”。这在 Eclipse 控制台中成功运行。现在我想通过我的 Ubuntu 11.04 终端运行它。如果我cd到 .class 父文件夹并使用java .HelloWorld,它会抛出 ClassNotFoundException

Exception in thread "main" java.lang.NoClassDefFoundError: /HelloWorld

引起:java.lang.ClassNotFoundException: .HelloWorld

如果我用同一个默认包中生成的源文件和类文件编写相同的 prog,我可以通过终端运行它。

4

2 回答 2

3

cd /home/workspace/HelloWorld/bin/并运行

java com.android.test.helloworld.HelloWorld

您必须始终使用具有完整限定名的类(包 + 类名)

于 2013-01-23T14:16:51.647 回答
0

还要注意这里的答案: Eclipse 生成的可运行 jar 文件不会执行?

基本上,如果您让 Eclipse 将您的项目导出为“可运行的 jar”,您可以使用以下命令运行它:

java -jar YOURJAR.jar

于 2013-04-18T07:52:40.673 回答