У нас есть основа для нашего приложения Huge ADF, разработанная jdeveloper 12.2.1.1.0. просто мы разделили наш бизнес на множество рабочих пространств следующим образом:
- xxxxxFinance.ear: одно из наших рабочих пространств (имеет SharedUI.jar и SharedCode.jar в прикрепленных библиотеках проекта слоя представления)
- Поместите Adf-richclient-api-11.jar в качестве прикрепленных библиотек как в SharedUI.jar, так и в SharedCode.jar.
- убедитесь, что идентификаторы компонентов уникальны во всех шаблонах страниц jsf, чтобы избежать двусмысленности по сравнению с обычными страницами jsf в других наших проектах.
Способ развертывания: мы развертываем наши общие jar-файлы (SharedUI.jar и SharedCode.jar) в weblogic, а также исключаем их из xxxxxFinance.ear, снимая отметку с войны / фильтров в WEB-INF относительно войны слоев и ставим имена банок в файле weblogic-application.xml, на данный момент все в порядке и работает нормально.
проблема: мы получили java.lang.ClassNotFoundException: oracle.adf.view.rich.component.rich.RichPopup на каждой странице, и после расследования я обнаружил, что SharedUI В проекте есть всплывающее окно внутри корневого шаблона страницы jsf для обработки функциональности смены пароля, которая имеет привязку в классе templateMgr, который существует в sharedCode.jar, что разумно для действий с шаблонами обработки.
Мы пытались:
- Все вопросы решены. это произошло из-за того, что некоторые разработчики допустили ошибки в отношении присоединения классов путей и библиотек.
- Как вы используете компоненты из SharedUI.jar в xxxFinance.ear?
но тоже не сработало.
Наконец, когда мы хешировали назначение этого всплывающего окна в шаблоне. то все снова работает нормально !!.
Также мы расширяем класс ViewHandler до customViewHandler для управления нашей локалью и т. д. Я воспользовался другой проблемой, касающейся строки AdfFacesContext.getCurrentInstance (). IsPostback (). oracle / adf / view / rich / context / AdfFacesContext java.lang.NoClassDefFoundError: oracle / adf / view / rich / context / AdfFacesContext
Эти исключения отображаются только на этапе развертывания (когда мы отделяем нашу общую jar-память от наших основных рабочих ресурсов и развертываем их в weblogic и подготавливаем военные фильтры WEB-INF и weblogic-application.xml). Я имею в виду, что когда каждый проект имеет эти два общих jar-файла в качестве прикрепленных библиотек в режиме разработки, все работает нормально с разработчиком.
Если у нас возникло недоразумение. Мне интересно, что-то не так или не так в нашем подходе к прикреплению или развертыванию.
Стек исключений RichPopup
- Стек исключений AdfFacesContext:
SharedUI.jar: содержит скин, шаблоны, декларативные компоненты, js и т. Д.
SharedCode.jar: содержит базовые классы и классы расширения фреймворка.