У меня проблемы с запуском JSF в среде OSGi. Я использую веб-контейнер Jetty и равноденствие для обеспечения функциональности OSGi. Структура моей заявки следующая:
В первом пакете есть все библиотеки JSF, web.xml
и config.xml
. Это выглядит следующим образом:
bundle1
----src/main/java
-------de/package
----------Activator.java
----------JSFResolver.java
----src/main/resource
------ WebContent
----------META-INF
-------------face-config.xml
-------------web.xhtml
----------start.xhtml
-----------include.xhtml
----libs (containing all JSF required Jars)
Структура второго комплекта следующая:
bundle2
---src/main/java
------de/package
----------Bean.java
---src/main/resource
------META-INF
---------face-config.xml
------WebContent
---------index.xhtml
При запуске приложения равноденствия, bundle1 является основным комплектом, куда отправляются все запросы браузера. Во втором пакете файл index.xhtml
может быть получен первым пакетом по запросу. index.xhtml
в пакете 2 получает свои значения и свойства из «Bean.java» в комплекте 2. Проблема возникает, когда я запрашиваю «index.xhtml», класс Bean.java не найден. Я думаю, что это потому, что загрузчик классов в bundle1 не может найти его, он не знает об этом. Поэтому я хотел бы спросить, знает ли кто-нибудь, как решить эту проблему. Если да, пожалуйста, помогите мне, я испробовал все возможности, которые у меня были ..
Действительно ли возможно, чтобы JSF работал на нескольких пакетах, используя один и тот же FaceletsContex
? Могу ли я иметь отдельные файлы Face-Config.xml в каждом пакете, которые могут быть подключены другие Face-Config.xml в других пакетах? Может кто-нибудь, пожалуйста, дайте мне решение. Пример кода поможет.