【问题标题】:Classic error, NoClassDefFoundError经典错误,NoClassDefFoundError
【发布时间】:2011-05-05 04:03:42
【问题描述】:

经典问题,NoClassDefFoundError 我需要什么?创建新课程?

import java.net.*;
import java.io.*;
import org.xsocket.*;
import org.xsocket.connection.*;
import java.io.IOException;

public class SocketClient {
    public static void main(String[] args) {
        try {
            IBlockingConnection bc = new BlockingConnection("127.0.0.1", 8090);
            String req = "Hello server";
            bc.write(req + "\r\n");
        } catch (IOException e){}
            System.out.println("missing");
    }
}

我得到以下异常:

C:\Users\Wildfire\Desktop>java -cp xSocket-2.8.14.jar SocketClient 线程“主”java.lang.NoClassDefFoundError 中的异常:SocketClient 引起:java.lang.ClassNotFoundException: SocketClient 在 java.net.URLClassLoader$1.run(URLClassLoader.java:202) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248) 找不到主类:SocketClient。程序将会退出。

【问题讨论】:

  • 找不到什么类?发布异常跟踪。
  • 您使用的是记事本/vi 吗?一个合适的 IDE 应该只导入相关的类而不是*。检查您的导入是否涵盖了您尝试使用的所有类。 (除了像 String 这样的标准)
  • 将我的错误信息添加到帖子中。
  • Class not found的可能重复
  • 编辑时,请注意不要从问题中删除有用的信息。 @Erick:我将这些问题合并到这个问题中,因为这个问题最近更新了。感谢您指出。

标签: java


【解决方案1】:
java -cp xSocket-2.8.14.jar;. SocketClient  

您在类路径中缺少当前目录。

为了完整性(感谢 Mark):

在 Unix/Linux/等...:

java -cp xSocket-2.8.14.jar:. SocketClient

【讨论】:

  • 这个。当您不指定类路径时,类路径是当前目录(“.”)。当您指定类路径时,不会使用默认值,因此如果您希望当前目录位于类路径上,则必须显式添加它。
  • @user217582:看我的评论。 ; 是路径分隔符(分隔两个不同的路径,在 *nix 平台上是 :),. 表示当前目录。
  • Mark 对此做了很好的说明。重新定义类路径后,它必须包含您想要的所有内容,包括当前目录。
  • 是的,这项工作。也感谢 Mark 的 *nix 提示,它也与我的项目有关。
【解决方案2】:

您的类路径可能是错误的。试试:

java -classpath dir_missing_from_class_path your_java_file

【讨论】:

  • 我不明白,您的问题明确指出您遇到了 NoClassDefFoundError 错误,我的分析器专门为您提供帮助。
【解决方案3】:

这应该可行:

java -cp xSocket-2.8.14.jar SocketClient

(“cp”是“classpath”的缩写)

【讨论】:

  • @user217582: 哪个班级?套接字客户端?如果有,你编译了吗?
  • 是类问题,其实不是jar
猜你喜欢
  • 1970-01-01
  • 2016-10-06
  • 2010-11-04
  • 2012-02-11
  • 2014-02-03
  • 1970-01-01
  • 2011-12-18
  • 1970-01-01
相关资源
最近更新 更多