java - Web 应用程序中的随机 NoClassDefFound 错误

标签 java linux jetty noclassdeffounderror

想知道是否有专家可以解释为什么会随机发生以下情况。

我们有一个部署在 Jetty 6.1.26 中的 Web 应用程序,该应用程序在带有 JRE 1.7_03 的 Linux 安装上运行

不是每次,而是偶尔,当 Jetty 启动时 - 似乎是一个随机类(来 self 们的项目)似乎是 NoClassDefFound 错误的来源。如果我们重新启动 Jetty,他们的问题就会消失。

出现的唯一模式似乎是错误根源处的类是通过 JAXB 注释填充的。

为了更清楚地了解这种情况发生的频率是 1/50 次(如果是的话)。

我很想知道这个错误的发生方式和原因。

最佳答案

不确定这是否有帮助,但我们遇到了 Jetty 8 和 java 6 的注释问题。 长话短说,该版本中的注释处理似乎依赖于 libasm,例如字节码检查。所以我们必须小心

  • 我们用什么编译我们的类(例如;JDK 版本等...)
  • 我们不会通过我们的依赖项拉取多个 asm/javassist 库并最终加载错误的库

我不熟悉 Jetty 6 和 Jaxb 处理注释的方式,但我真的很惊讶你能在 Java 7 上运行它们。你能尝试用 Java 6 运行你的代码吗?

关于java - Web 应用程序中的随机 NoClassDefFound 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12705355/

相关文章:

java - 使用 jetty 将 Web 应用程序嵌入到桌面应用程序中

java - 如何列出 Cassandra 列族中的所有列名?

Linux AF_ALG 加密 API : algorithm name

spring-mvc - Spring Web应用程序部署在Gradle的嵌入式Jetty上,而不部署在独立的Jetty中

linux - vifm:在文件列表中显示日期/时间

linux - 尝试在 Ubuntu 中安装 Gtkaml(和 libval​​a-0.16)时出现奇怪的错误

java - 对 jetty-env.xml 感到困惑

java - EditText 的空值

java - 从 ListView 获取选中的元素

java - HashSet - 如何搜索