我在 eclipse 中构建了一个名为“com.hello”的包,并编写了一个简单的 HelloWorld 程序。 Eclipse 自动添加了“package com.hello;”在我的程序之上。并且HelloWorld.java被放入
F:\workspace\helloWorld\src\com\hello;
HelloWorld.class 已放入
F:\workspace\helloWorld\bin\com\hello.
它在 Eclipse 中运行得很好。但是当我进入目录“F:\workspace\helloWorld\bin\com\hello
”并使用命令行“java HelloWorld”时,我得到了NoClassDefFoundError
。我知道这可能与类路径有关。但我不太确定。
最佳答案
您的类位于包 com.hello
中。要运行它,您必须确保包的基目录(在您的情况下为F:\workspace\helloWorld\bin
)位于类路径中。
尝试像这样运行它:
java -cp F:\workspace\helloWorld\bin com.hello.HelloWorld
您还可以转到目录F:\workspace\helloWorld\bin
,然后运行它
java com.hello.HelloWorld
这将起作用,因为 Java 将使用当前目录作为默认目录(如果您没有设置 CLASSPATH
环境变量)。
关于java - NoClassDefFoundError是如何抛出的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12909767/