Maven - JSF 2.0 não funciona no tomcat incorporado
Criei um aplicativo Web Maven usando JSF 2.2, Primefaces, Tomcat 7 dependências.
A implementação do meu JSF é o Mojarra 2.2.4, adicionei essas dependências no meu 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>
Mas, infelizmente, tenho problemas comtomcat7-maven-plugin
e seu tomcat incorporado. Se eu usartomcat7:run
comando, meu webapp é iniciado sem problemas, mas quando ele tenta carregar o bean gerenciado, recebo este erro:
Alvo inacessível, identificador 'testBean' resolvido como nulo
Este é um sinal de que o aplicativo da web está usandoJSF 1.x
ao invés deJSF 2.x
. O configurador deJSF 1.x
não reconhece@ManagedBean
anotações que farão com que não sejam carregadas / inicializadas automaticamente sem a necessidade de faces-config.xml.
Estou usando o tomcat incorporado 7.0.50, configurado usando:http://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin/adjust-embedded-tomcat-version.html
Mas apesar de eu não reconhecer@ManagedBean
anotações, ele funciona apenas usando a tag managedbean emfaces-config.xml
.
Existe uma maneira de incluirJSF 2.x
suporte ao Tomcat Embedded formaven7-tomcat-plugin
?
PS:tomcat7:run-war
funciona, mas não gosto porque, obviamente, é uma execução estática, sem possibilidade de alterar o código xhtml (por exemplo) em tempo real.