繁体   English   中英

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

[英]NoClassDefFoundError error while running JAVA console app

我创建了一个小的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; CLASSPATH: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文件夹或测试文件夹中运行它。 我必须在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM