Да, я сразу отвечаю на свой собственный вопрос, потому что я уже неделю провел, стуча головой по столу, и я выяснил свою проблему только после отладки через JSF 2.0 RI (Mojarra), чтобы увидеть, что он делал.
По сути, сканер аннотаций просматривает только файлы WAR / / WEB-INF / classes .class для аннотаций (при условии, что у вас есть файл face-config.xml в / WEB-INF).Если вы храните свой код в отдельных файлах Jar и хотите, чтобы ваши файлы .class, содержащиеся в файлах / WEB-INF / lib .jar, сканировались на наличие аннотаций, , вы должны иметь файл face-config.xml в META-файле этого Jar-файла.Папка INF .Face-config.xml, который вы добавляете в банку, может быть пустым, он просто должен быть там, иначе сканер аннотаций будет пасовать вашу банку, как если бы он оставался мясным рулетом.
Пустой Face-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee /WEB-INF/schema/web-facesconfig_2_0.xsd"
version="2.0" metadata-complete="false">
<!-- This file must be present with our jar, even if it is empty. Otherwise, our Java annotations won't get scanned! -->
</faces-config>
Я знаю, что там выбросили много -инфо.Итак, просто резюмируем.Ваш Face-config.xml в вашей войне идет в WEB-INF.Ваш потенциально пустой сканер аннотаций, включающий Face-config.xml в каждом из ваших файлов Jar, помещается в этот файл Jar META -INF.
Если вам интересно, почему поведение должно бытьЭто так круто, потому что конфиги JSF могут быть децентрализованы и распределены между библиотеками 1 и 3 сторонних производителей.И если вы задаетесь вопросом о существенном факте лица-config.xml в банке, мое мнение таково, что именно это делает банку интересной для движка - и отсутствие конфигурации лица.xml означает, что сканер аннотаций может избежать этого и сэкономить на обработке во время развертывания .Было бы неплохо, если бы эта семантика сканера была где-то более понятна,!
Следующее сообщение в блоге было очень полезно в моем понимании того, что делает код:
http://one -size-doesnt-fit-all.blogspot.com / 2007/01 / using-множественные лица-configxml-files-in.html
Я действительно надеюсь, что это избавит кого-то от такой мучительной недели, как я.