java.lang.ClassNotFoundException:在Glassfish v2.1上使用OmniFaces库时的javax.servlet.ServletRegistration

时间:2014-01-22 16:12:40

标签: jsf glassfish omnifaces

我正在尝试在Glassfish v2.1服务器上使用优秀的OmniFaces库。

在我尝试使用org.omnifaces.util.Faces类之前,它运行良好。在这种情况下,我遇到了

java.lang.ClassNotFoundException: javax.servlet.ServletRegistration

从我收集到的内容来看,似乎这个类出现在Servlet 3.0规范中 Glassfish v2.1仅与Servlet 2.5兼容,但OmniFaces文档表明它只需要Servlet 2.5。

有什么我想念的吗?这是一个意外添加的依赖吗?

完整配置是:

  • Myfaces 2.1.12
  • Glassfish v2.1.1(9.1_02 Patch12)
  • OmniFaces 1.6

感谢您的回答。

我遇到了this article,它解释了一些事情,但我仍然对它是否适用于Glassfish 2.1感到困惑。

1 个答案:

答案 0 :(得分:0)

OmniFaces确实应该与Servlet 2.5兼容,但由于开发和展示环境基于Servlet 3.0,因此未经过全面测试。另请参阅https://github.com/omnifaces/omnifaces/wiki/Java-EE-5-and-6-compatibility,因此可能会发生意外泄漏的事情。这是其中之一。

根据issue 298,这已针对当前的1.8快照进行了修复。