Upgrade JSF / Mojarra w JBoss jako / EAP / WildFly
Jak uaktualnić Mojarra na serwerze JBoss i powiedzieć, że używa podanej Mojarra 2.X JARs zamiast JBoss own jboss-jsf-api_2.1_spec-2.0.1.Final.jar
jak wskazano w dzienniku startowym?
Jeśli to ma znaczenie, obecnie używam Jbossa jako 7.1.
1 answers
Poniższa procedura dotyczy JBoss jako 7.2+, JBoss EAP 6.1 + i JBoss WildFly 8 + i zakłada, że masz pełną kontrolę nad instalacją i konfiguracją serwera. Ta aktualizacja rozszerza zakres serwera domyślna wersja JSF:
- Pobierz pojedyncze pliki Mojarra API i impl (a więc nie pojedynczy plik
javax.faces.jar
). Aktualne najnowsze 2.1.wersja x to 2.1.29, a aktualna najnowsza 2.2.wersja x to 2.2.14. Let ' s Załóżmy, że chcesz uaktualnić do 2.2.x. można je pobrać indywidualnie z repozytorium Maven: - upewnij się, że JBoss jest wyłączony.
- Update JSF API in
/modules/system/layers/base/javax/faces/api/main
:- Usuń lub utwórz kopię zapasową starego pliku JAR (nie przechowuj go w tym samym folderze, nawet bez nazwy!).
- włóż tam plik
jsf-api-2.2.14.jar
. - Otwórz
module.xml
plik i edytuj<resource-root>
aby określić nową nazwę pliku jak w<resource-root path="jsf-api-2.2.14.jar"/>
- Update JSF impl in
/modules/system/layers/base/com/sun/jsf-impl/main
:- Usuń lub utwórz kopię zapasową starego pliku JAR (nie przechowuj go w tym samym folderze, nawet bez nazwy!).
- włóż tam plik
jsf-impl-2.2.14.jar
. - Otwórz plik
module.xml
i edytuj<resource-root>
, aby określić nową nazwę pliku jak w<resource-root path="jsf-impl-2.2.14.jar"/>
- Czyszczenie pamięci podręcznej / danych roboczych JBoss tylko po to, aby upewnić się, że nie ma tam starej kopii słoików z poprzednich wdrożeń, które potencjalnie zderzyłyby się tylko z nowym Słoiki:
- Kosz całą zawartość
/standalone/data
(z wyjątkiem niestandardowych folderów z danymi, takich jak folder zawierający przesłane pliki, oczywiście) - Kosz całą zawartość
/standalone/deployments
- Trash all content of
/standalone/tmp
- Kosz całą zawartość
- Uruchom JBoss. Powinien teraz używać nowej wersji JSF dla wszystkich wdrożeń.
Ta sama procedura dotyczy JBoss jak 7.0/7.1 i JBoss EAP 6.0 , musisz tylko przeglądać w /modules/*
zamiast /modules/system/layers/base/*
, i musisz jawnie Usuń tam stary plik .index
, jeśli taki istnieje (JBoss automatycznie utworzy taki plik). Ponadto, jeśli module.xml
w folderze API brakuje <module name="com.sun.jsf-impl"/>
wewnątrz <dependencies>
, musisz ręcznie dodać go.
Ważna uwaga jest to, że Mojarra 2.2.wersje x starsze niż 2.2.7 nie będą działać w AS / EAP podczas wdrażania z następującym wyjątkiem: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.faces.flow.builder.FlowDefinition
. Masz wtedy w zasadzie 2 opcje: downgrade do Mojarra 2.1.x lub uaktualnić do co najmniej 2.2.7 lub nowszego.
W przypadku, gdy chcesz uaktualnić do Mojarra 2.3 , który nie oferuje już wariantu 2-JAR na Mavenie, musisz ręcznie utworzyć wariant 2-JAR na podstawie pliku javax.faces.jar
zgodnie z tą procedurą: jak zainstalować jeden wariant jar JSF (javax.twarze.jar) na WildFly .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:01