java.lang.ClassNotFoundException: javax.servlet.ServletRegistration при использовании библиотеки OmniFaces в Glassfish v2.1

Я пытаюсь использовать отличную библиотеку OmniFaces на сервере Glassfish v2.1.

Он работает хорошо, пока я не попытаюсь использовать класс org.omnifaces.util.Faces. В этом случае я сталкиваюсь с

java.lang.ClassNotFoundException: javax.servlet.ServletRegistration

Насколько мне известно, этот класс появился в спецификации Servlet 3.0.
Glassfish v2.1 совместим только с Servlet 2.5, но в документации OmniFaces указано, что для него требуется только Servlet 2.5.

Есть что-то, что мне не хватает? Это случайно добавленная зависимость?

Полная конфигурация это:

  • Мои лица 2.1.12
  • Glassfish v2.1.1 (9.1_02 Patch12)
  • Омнифейс 1.6

Спасибо за ваши ответы.

Я наткнулся на эту статью, в которой объясняется немного больше, но я все еще не понимаю, должно ли это работать на Glassfish 2.1.


person Julien S    schedule 22.01.2014    source источник
comment
Для OmniFaces требуется Java EE 6, а для Glassfish 2 — только EE 5.   -  person unwichtich    schedule 22.01.2014
comment
Попробуйте текущий снимок 1.8 и дайте мне знать: oss. sonatype.org/content/repositories/snapshots/org/omnifaces/   -  person BalusC    schedule 22.01.2014
comment
1.8 SNAPSHOT работает как шарм. Большое спасибо @BalusC за вашу быструю поддержку.   -  person Julien S    schedule 23.01.2014


Ответы (1)


OmniFaces действительно должен быть совместим с Servlet 2.5, но это не было тщательно проверено, поскольку среда разработки и демонстрации основана на Servlet 3.0. См. также https://github.com/omnifaces/omnifaces/wiki/Java-EE-5-and-6-compatibility, поэтому может случиться так, что что-то случайно проскочило. Это одна из тех вещей.

Согласно ошибке 298, это было исправлено для текущей версии 1.8. снимок.

person BalusC    schedule 23.01.2014