[英]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.