gpt4 book ai didi

java - 当类在 JBoss 6 WAR WEB-INF/classes 文件夹中时出现 NoClassDefFoundError

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:07:29 25 4
gpt4 key购买 nike

我的问题是我构建了一个 Web 应用程序并将其作为 WAR 文件部署到 JBoss 6。我的 servlet 无法在我的应用程序中加载类并抛出 NoClassDefFoundError。

我确认这个类存在于 WAR 文件的正确位置。我的所有应用程序类都存在于 WEB-INF/classes 文件夹中,连同我的 servlet 类一起可以顺利执行。事实上,似乎只有这个类不在类路径中,因为应用程序的其他方面运行良好。

JBoss 在 JDK 1.6_21 上运行,该应用程序是使用 JDK 1.6_24 构建的,这应该不是问题吧?

此外,此应用程序在 Eclipse 中本地运行良好,当我将 WAR 文件部署到单独的 Tomcat 7 和 Glassfish 3 服务器时,它们都可以毫无问题地找到此类。

我不希望任何人立即知道哪里出了问题,如果有人之前看到过类似的事情,请分享您的经验,或者如果您有好的技巧或知道真正深入研究类路径问题的好工具,那么请分享。

最佳答案

NoClassDefFoundError 表示类已​​“加载”但无法构建类定义。通常在类的静态初始化出现异常时发生。我在 AppServers 中不止一次看到日志文件中没有报告静态初始化期间的异常。

检查失败的类的静态 block 和静态属性的初始化是否有潜在的异常原因。

我在 JBoss 和 WebSphere 中看到的另一个原因是 Web 应用程序正在分发一些与应用程序服务器中的库(如 servlet.jar 或其他东西)冲突的库。通常通过删除有问题的库或将类加载机制调整为“父级优先”来解决问题。

希望对你有帮助

关于java - 当类在 JBoss 6 WAR WEB-INF/classes 文件夹中时出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5504709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com