Обновите WebLogic 10.3.0 до JSF 2 через JAR, предоставленный веб-приложением

У меня есть веб-приложение Java EE 5, работающее на WebLogic 10.3.0. Я хочу использовать JSF 2.x, но WebLogic 10.x поддерживает только JSF 1.2. Поэтому я сделал следующее, чтобы использовать JSF 2.x.

  1. Я развернул WAR вместе с этими JAR-файлами:

    • wls.jsf.di.jar
    • glassfish.jstl_1.2.0.1.jar
    • javax.jsf_1.0.0.0_2-0.jar (jsf 2.0)
    • glassfish.jsf_1.0.0.0_2-0-4.jar

  2. Я добавил следующие JAR-файлы для построения пути исключительно для компиляции:

    • javax.faces-2.1.26.jar
    • JSTL-1.2.jar

  3. Создан Servlet 2.5 совместимый web.xml и weblogic.xml (1.0).

  4. Включено это в weblogic.xml:

    <library-ref>
        <library-name>jsf</library-name>
        <specification-version>2.0</specification-version>
        <implementation-version>1.0.0.0_2-0-2</implementation-version>
        <exact-match>false</exact-match>
    </library-ref>
    
    <container-descriptor>
        <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor>
    
  5. Для поддержки аргументов EL 2.2-подобных методов в EL 2.1 я добавил этот JAR:

    • JBoss-эль-2.0.0.GA.jar

  6. И поместил это в web.xml:

    <context-param>
        <param-name>com.sun.faces.injectionProvider</param-name>
        <param-value>
            com.sun.faces.vendor.WebContainerInjectionProvider
        </param-value>
    </context-param>
    

После всех этих изменений WebLogic Console все еще говорит следующее:

Инициализация реализации Sun JavaServer Faces (1.2_03-b04-FCS) для контекста

Как видите, он все еще использует JSF 1.2. Что еще я могу сделать, чтобы полностью использовать JSF 2?

1 ответ

Решение

Что ж, после некоторых тестов я действительно использовал JSF 2! Так что да, этого достаточно, чтобы Weblogic 10.3.0 работал с JSF 2. Не помню, избавился ли я от сообщения "Initializing JSF 1.2", но я рекомендую просто проигнорировать его

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