当前位置:  开发笔记 > 编程语言 > 正文

org.springframework.webflow.util.RandomGuid上的java.lang.NoClassDefFoundError错误

如何解决《org.springframework.webflow.util.RandomGuid上的java.lang.NoClassDefFoundError错误》经验,为你挑选了1个好方法。

对不起,我的问题很愚蠢,但作为一个java文盲,我无法回答它.我在CentOS5上运行一个tomcat(5)(用于CAS服务器),当我尝试打开这个URL时http://192.168.1.17:8080/cas-server-webapp-3.3.1/login我收到此错误:

第一个错误:java.lang.NoClassDefFoundError:无法初始化类org.springframework.webflow.util.RandomGuid

和root错误:org.springframework.web.util.NestedServletException:处理程序处理失败; 嵌套异常是java.lang.NoClassDefFoundError:无法初始化类org.springframework.webflow.util.RandomGuid

$ CLASSPATH是空的,这似乎是一个问题,但我不知道该放入什么.

编辑:Jared是对的,我的主机文件将127.0.0.1定义为localhost,现在它工作得很好!



1> Jared..:

在这种情况下,重要的是要保持两到三个不同的例外:

    java.lang.ClassNotFoundException 此异常表示在类路径中找不到该类.这表明我们正在尝试加载类定义,并且类在路径上不存在.

    java.lang.NoClassDefFoundError 此异常表示JVM在其内部类定义数据结构中查找了类的定义但未找到它.这与说它无法从类路径加载不同.通常这表明我们之前尝试从类路径加载一个类,但由于某种原因它失败了 - 现在我们再次尝试,但我们甚至都不会尝试加载它,因为我们之前没有加载它.较早的失败可能是ClassNotFoundException或ExceptionInInitializerError(表示静态初始化块中的失败)或任何其他问题.关键是,NoClassDefFoundError不一定是类路径问题.

话虽这么说,另一个回答海报表明RandomGUID需要调用InetAddress.getLocalHost().在许多操作系统上,这将触发将使用hosts文件的主机查找(/etc/hosts在*NIX系统上,%WINDOWS%/system32/drivers/etc/HOSTS在Windows系统上).

当该文件错误地定义localhost地址时,我经常看到类似的错误. 127.0.0.1应该指出的"localhost"(可能也是localhost.localdomain.)应该不是指向机器的实际主机名(尽管因为某些原因,许多老RedHat Linux上安装喜欢正确设置它.)

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有