Я создаю веб-приложение с JSF 2.2, Hibernate, Primefaces и Tomcat. Поскольку теперь у меня есть два клиента, которым нужно одно и то же приложение, но с некоторыми незначительными различиями в пользовательском интерфейсе и прочем, я решил разделить проект на основной проект, в котором находится весь мой Java-код, и два DynamicWebProjects, которые зависят от это ядро. Я сделал следующее:
* создал обычный проект в Eclipse и поместил туда все мои классы Java, включая bean-компоненты, фильтры и т. д. (импортировал все необходимые библиотеки, такие как Primefaces, hibernate, jpa и т. д., через buildpath)
*создал два DynamicWebProjects и включил основной проект, как описано в Развертывание веб-приложения Eclipse с помощью Tomcat: обеспечение зависимостей нескольких проектов?
* скопировал web.xml из предыдущего "полного" проекта и просто изменил тег отображаемого имени
Теперь, когда я запускаю оба приложения, я получаю странное поведение:
* Стартовая страница (login.xhtml) отображается, но без загрузки каких-либо ресурсов. Ни css, ни изображения, ни даже компоненты Primefaces.
* Когда я пытаюсь войти в систему и вызвать loginBean.login(), я получаю сообщение об ошибке: target unreachable, identifier 'loginbean' resolved to null
. Обратите внимание, что мои bean-компоненты просто объявлены как таковые с помощью аннотаций. Поэтому я попытался объявить их в файлеfaces-config.xml в каждом веб-проекте, и ошибка исчезла. Но, к сожалению, это привело к другим ошибкам, например: Error while running query: No query defined for that name [User.findUserByEmail]
, который также определяется через аннотацию в основном классе.
* Даже навигация больше не работает.
Я предполагаю, что каким-то образом из-за простого импорта основного проекта аннотации игнорируются. Но я действительно не хочу определять все в .xml-файле.
Конечно, я читал разные темы здесь, в Stackoverflow, но ни одна из них, похоже, не подходит для моей проблемы, поскольку я ничего не менял в коде, и он работал отлично, когда у меня было все только в одном проекте. Кроме того, основной проект, кажется, импортируется нормально, так как я могу без проблем получить доступ к основным классам. Любые подсказки о том, как это исправить? Может быть, мне также следует заявить, что я очень новичок во всем, что касается JEE, поэтому дайте мне знать, если я упустил что-то важное.
заранее спасибо