提问人:Luchian Grigore 提问时间:8/10/2011 最后编辑:wattostudiosLuchian Grigore 更新时间:5/1/2012 访问量:12947
未找到 Java 类异常
Java class not found exception
问:
我正在尝试运行一个 Java 程序,在执行过程中的某个地方,我得到了一个
java.lang.NoClassDefFoundError: antlr/TokenStream
例外。我是 java 编程的新手,所以真的不知道这意味着什么。我查看了有关相同问题的其他一些问题,但它们并没有真正帮助我 - 要么我无法遵循答案,要么它不适用于我的情况。 有什么想法吗?
答:
搜索 antlr.jar 并将其放入您的类路径
评论
它正在搜索类的 defn,而在类路径中找不到该类。
如果 Java 虚拟机或 ClassLoader 实例尝试 在类的定义中加载(作为正常方法调用的一部分或 作为使用新表达式创建新实例的一部分)和否 可以找到类的定义。
如果 Java 虚拟机或 ClassLoader 实例尝试 在类的定义中加载(作为正常方法调用的一部分或 作为使用新表达式创建新实例的一部分)和否 可以找到类的定义。
搜索到的类定义在当前执行时存在 类已编译,但无法再找到定义。
从这里开始。
java.lang.NoClassDefFoundError
当程序引用的特定类在类路径中不可用时,会引发。类路径是运行时搜索正在运行的类中使用的类的路径/目录列表。
您收到的错误消息意味着该消息在您的类路径中不可用。antlr/TokenStream
要将相应的 jar () 包含在类路径中,您可以在运行时使用以下标志:antlr.jar
-cp
java -cp .;path_to_antlr.jar yourClass
或
java -cp .;path_to_antlr.jar -jar yourJar.jar
您引用了一个 java 类,但由于某种原因,该类在您正在运行的执行映像中不存在。例如,如果您实例化了一个新的类 XYZ,例如: XYZ xyz = new XYZ (),但不存在这样的类,您将收到类似于上述的错误。过去,如果我拼错了对某个类的引用,或者更典型的是,如果我引用的类不知何故没有包含在我的 jar 中,我就会收到这种错误。检查执行的 jar 或目录。你看到你在那里引用的类了吗?我敢打赌它不见了。
埃利奥特
下一个:C 语言中的虚函数 [重复]
评论