a única configuração necessária (no 3.1.0) é o filtro do vraptor… todas as outras são opcionais…
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>lojavitual</display-name>
<context-param> <!-- Só coloque se for usar i18n -->
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>messages</param-value>
</context-param>
<context-param> <!-- só coloque se quiser forçar o encoding -->
<param-name>br.com.caelum.vraptor.encoding</param-name>
<param-value>UTF-8</param-value>
</context-param>
<context-param><!-- só coloque se for criar um Custom provider registrando coisas -->
<param-name>br.com.caelum.vraptor.provider</param-name>
<param-value>br.com.caelum.vraptor.CustomProvider</param-value>
</context-param>
<context-param> <!-- só coloque se quiser usar Pico ao invés de Spring ... está deprecated-->
<param-name>br.com.caelum.vraptor.provider</param-name>
<param-value>br.com.caelum.vraptor.ioc.pico.PicoProvider</param-value>
</context-param>
<context-param> <!-- só coloque isso se quiser usar os componentes do VRaptor que criam uma Session do Hibernate-->
<param-name>br.com.caelum.vraptor.provider</param-name>
<param-value>br.com.caelum.vraptor.util.hibernate.HibernateCustomProvider</param-value>
</context-param>
<context-param><!-- só coloque isso se quiser usar os componentes do VRaptor que criam uma EntityManager da JPA-->
<param-name>br.com.caelum.vraptor.provider</param-name>
<param-value>br.com.caelum.vraptor.util.jpa.JPACustomProvider</param-value>
</context-param>
<!-- De qqer forma vc só deve colocar um param com nome br.com.caelum.vraptor.provider -->
<filter>
<filter-name>vraptor</filter-name>
<filter-class>br.com.caelum.vraptor.VRaptor</filter-class>
</filter>
<context-param> <!-- só coloque se você tiver componentes anotados dentro de jars -->
<param-name>br.com.caelum.vraptor.packages</param-name>
<param-value>br.com.caelum.lojavirtual</param-value>
</context-param>
<filter-mapping>
<filter-name>vraptor</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<error-page> <!-- só coloque se quiser uma error page -->
<exception-type>br.com.caelum.vraptor.interceptor.AuthenticationException</exception-type>
<location>/index.jsp</location>
</error-page>
</web-app>
Quer dizer então que com as alterações do 3.1.x eu não devo mais colocar o pacote de scan do vraptor se as classes estiverem dentro do WEB-INF/classes?
[quote=garcia-jj]Quer dizer então que com as alterações do 3.1.x eu não devo mais colocar o pacote de scan do vraptor se as classes estiverem dentro do WEB-INF/classes?
[/quote]
nao é que nao deve, mas voce nao precisa mais, com isso eliminamos uma configuracao na maioria dos casos!
Lucas, muito obrigado pela indicação. Eu estou numa correria do cão, e nem consegui ler direito, sorry. Pelo menos tenho tentado reservar uns minutos para acompanhar as dúvidas do vraptor no guj.
Deixe-me me prolongar um pouco com uma dúvida de servlet3 mesmo e não de vraptor. Fiquei com uma interrogação sobre essa spec do servlet3 do web.xml ser modular. Há como eu bloquear essa “autoconfiguração”? Penso que algum outro framework possa fazer algo que impacte no vraptor, ou algo assim.
Na nova especificação, você pode colocar tags no web.xml que gerenciam os web-fragments (os tais jars autoconfiguráveis)… se eu não me engano vc pode colocar um no web.xml onde vc pode desabilitar, mudar a ordem, talvez modificar configurações também…