Maven - JSF 2.0 не работает на встроенном коте
Я создал Maven Web Application с использованием JSF 2.2, Primefaces, Tomcat 7 зависимостей.
Моя реализация JSF - Mojarra 2.2.4, я добавил следующие зависимости на моем POM:
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.4</version>
<scope>compile</scope>
</dependency>
Но, к сожалению, у меня есть проблемы сtomcat7-maven-plugin
и его встроенный кот. Если я используюtomcat7:run
Команда, мое веб-приложение запускается без проблем, но при попытке загрузить управляемый компонент я получаю эту ошибку:
Target Unreachable, идентификатор 'testBean' преобразован в ноль
Это признак того, что веб-приложение используетJSF 1.x
вместоJSF 2.x
, КонфигураторJSF 1.x
не признает@ManagedBean
аннотации, которые приведут к тому, что они не будут загружены / инициализированы автоматически без использования Face-config.xml.
Я использую Tomcat Embedded 7.0.50, настроенный с его помощью:http://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin/adjust-embedded-tomcat-version.html
Но, несмотря на то, что я не признаю@ManagedBean
аннотации, он работает только с использованием тега Managedfaces-config.xml
.
Есть ли способ включитьJSF 2.x
поддержка Tomcat Embedded дляmaven7-tomcat-plugin
?
PS:tomcat7:run-war
работает, но мне не нравится, потому что, очевидно, это статический запуск, без какой-либо возможности изменить код xhtml (например) на лету.