Я ищу, как определить пользовательские компоненты в JSF. Согласно учебнику по Java EE, любой пользовательский компонент должен быть описан в taglib. Когда я просматриваю исходный код PrimeFaces, я не могу найти ни одного файла taglib или какой-либо подсказки, где связано пространство имен и определены доступные компоненты. Я добавляю банку Primefaces в свои зависимости, добавляя
xmlns:p="http://primefaces.org/ui
в пространство имен xml, определяя некоторые компоненты primfaces на моей странице, и это работает...
Хорошо, но ни я не могу найти связанную taglib в исходном или двоичном пакете, ни моя IDE (IntelliJ) не может найти, куда указывает "xmlns:p="http://primefaces.org/ui". Поэтому код завершение также невозможно (все остальные taglibs mojarra найдены).
Возможно ли, что PrimeFaces определяет taglib через аннотации непосредственно в классах Java или генерирует ее во время выполнения? Я могу легко найти UIComponents, Primefaces определяет в своем источнике, но конфигурация taglib, похоже, отсутствует. Я уверен, что просто не знаю, как PrimeFaces это делает, но javaeetutorial не описывает никакой другой возможности, кроме определения ...-taglib.xml