java - NoClassDefFoundError是如何抛出的

标签 java eclipse classpath noclassdeffounderror

我在 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/

相关文章:

java - 关于 Java 中的 RandomAccessFile 的问题?

java - Spring MVC 不会从 html 表单保存到数据库

java - 尝试在 azure 模拟器上运行 Java/Eclipse 应用程序时出现路径太长错误

Java jdk - 类路径、java home、PATH 变量已设置,但 javac 命令不起作用

java - 在正确的目录中执行java类

java - 启动 Tomcat 9.0 时收到异常

java - 如何减少 Full GC 的数量?

java - 如何创建获取泛型参数并返回该类型对象的方法?

java - 你如何在 Windows 上 merge GIT?

java - "Cannot read git config"配置 Git 默认远程和 merge 时