Проект не работает с сервлетом 4.0 и jsf 2.3

У меня есть небольшой проект Java EE с использованием CDI, JSF, BeanValidation, Servlet-api в intellij IDEA. Мой сервер - Glassfish 5.0.0, я прочитал, что он реализует сервлет 4.0, CDI 2.0, JSF 2.3 и проверку бинов 2.0.

У меня есть следующие конфигурации XML:

1.web.xml:

      <?xml version="1.0" encoding="UTF-8"?>
        <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
                 version="3.1">
    <!--Configurations-->
        </web-app>

2.faces-config.xml:

    <faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
    http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">

</faces-config>

3.beans.xml:

    <?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://java.sun.com/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_2_0.xsd">

</beans>

Теперь все хорошо, но когда я пытаюсь изменить сервлет 3.1 на сервлет 4.0, jsf 2.2 на jsf 2.3, все страницы jsf, где я использую язык выражений, не работают, например <h:commandButton action='#{bean.doSomething}' /> не запускать события

Что я делаю не так? Извините за мой английский.

ОБНОВИТЬ.

Я перевожу свой проект в maven, заново обновляю все библиотеки, и все работает нормально, поэтому я думаю, что проблема была в плохих конфигурациях или библиотеках.

0 ответов

Если кому-то интересно, эта проблема, скорее всего, вызвана ошибкой в ​​Mojarra. После обновления версии 2.3.2 javax.faces.jar по умолчанию до версии 2.3.3 в Glassfish 5 JSF снова будет работать, как и ожидалось.

Другие вопросы по тегам