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

想知道是否有哪位大师可以对随机发生的原因说一说。

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

不是每一次,但是现在,当Jetty启动时,似乎是一个随机类(来自我们的项目)似乎是一个NoClassDefFound错误的来源。 如果我们重新启动docker,他们的问题消失。

唯一发生的模式似乎是通过JAXB注释填充错误根目录中的类。

为了给出更多关于频率的想法,感觉这发生了1/50次,如果那样的话。

我会有兴趣知道如何以及为什么这个错误。

不知道这可以帮助,但我们遇到了Jetty 8和Java 6的注释问题。简而言之,在该版本中的注释处理似乎依赖于libasm,例如字节码检查。 所以我们必须小心

  • 我们编译我们的类(例如,JDK版本等)
  • 我们不通过我们的依赖关系拉多个asm / javassist库,最后加载错误的

我不熟悉Jetty 6和Jaxb处理注释的方式,但是我真的很惊讶,你可以同时运行在Java 7上。你能用Java 6运行你的代码吗?