gpt4 book ai didi

java - 运行 JAVA 控制台应用程序时出现 NoClassDefFoundError 错误

转载 作者:行者123 更新时间:2023-12-02 06:50:41 25 4
gpt4 key购买 nike

我创建了一个 HelloWorld 小示例,但在从命令提示符(在 Windows 上)运行它时遇到问题。当我尝试通过以下方式运行它时:

java tcpServer 从命令提示符我得到 NoClassDefFoundError
我可以用 javac 编译它,并生成类文件。

我在某处读到我必须将类文件夹的路径放入 CLASSPATH 环境变量中。我已经完成并重新启动机器,但仍然遇到相同的错误。

我还尝试通过java -cp c:\MyFolderWhereClassFileIs HelloWorld运行它,但它不起作用。

我研究了 ENV 变量,得到以下结果:JAVA_HOME: C:\Program Files (x86)\Java\jdk1.6.0_26;JRE_HOME:C:\Program Files (x86)\Java\jre6;类路径:C:\HelloWorld;

那么,我该如何运行它呢?有什么想法如何解决这个问题吗?谢谢。

PS。对我来说最烦人的是,如果我在 eclipse 中创建 java 项目,并创建 HelloWorld 示例,那么它运行得很好...

更新:

这是代码。它确实指定了包。

package test.com;
public class HelloWorld {
public static void main(String[] args) {
System.out.print("Hello World");
}
}

我的HelloWorld.java和HelloWorld.class文件在这里:C:\workspace\TestApp\src\test\com

到目前为止我学到的一件事是我无法从 com 文件夹或 test 文件夹中运行它。我必须在 src 文件夹中才能找到类文件...但我仍然无法运行它...总是出现相同的错误。

最佳答案

你的类有包名吗?也就是说,顶部的语句如下:

package <mypkgname>;

如果是这样,那么您必须(A)创建正确的目录结构,并(B)java 中使用包名称作为类名称前缀。命令。

例如,如果您的 Java 文件如下所示:

package hello;
public class HelloWorld {
...
}

然后基本的目录结构将类似于:

src/hello/
src/hello/HelloWorld.java
src/hello/HelloWorld.class

你的 bash 命令是:

cd src
java hello.HelloWorld
<小时/>

否则,如果你的类没有包名,它将被放置在默认包中。在这种情况下,您只需 cd到类文件所在的目录,然后运行 ​​java HelloWorld .

关于java - 运行 JAVA 控制台应用程序时出现 NoClassDefFoundError 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18067213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com