[RESOLVIDO] Exemplo VRaptor 4 JPA

Alguém poderia disponibilizar um exemplo funcional do VRaptor 4 com injeção de dependências para jpa?

você vai usar tomcat/jetty ou um servidor de aplicação, como o Wildfly ou glassfish?

se for servidor de aplicação, basta receber o persistenceContext na classe que vc quer:

@PersistenceContext
private EntityManager manager

e colocar @Transactional na classe.

Se for tomcat/jetty, use o plugin vraptor-jpa https://github.com/caelum/vraptor-jpa e receba o EntityManager com @Inject.

Estou usando o Tomcat,

Fiz isso mas estou recebendo o erro:


INFO: WELD-000900: 2.1.2 (Final)
Abr 10, 2014 8:33:48 AM org.jboss.weld.bootstrap.WeldStartup startContainer
INFO: WELD-000101: Transactional services not available. Injection of @Inject UserTransaction not available. Transactional observers will be invoked synchronously.
Abr 10, 2014 8:33:48 AM org.hibernate.validator.internal.util.Version <clinit>
INFO: HV000001: Hibernate Validator 5.1.0.Final
Abr 10, 2014 8:33:52 AM org.jboss.weld.environment.tomcat7.Tomcat7Container initialize
INFO: Tomcat 7+ detected, CDI injection will be available in Servlets and Filters. Injection into Listeners is not supported
Abr 10, 2014 8:33:53 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.jboss.weld.environment.servlet.Listener
org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type EntityManager with qualifiers @Default
  at injection point [BackedAnnotatedField] @Inject private br.com.caelum.vraptor.dao.UsuarioDao.em
  at br.com.caelum.vraptor.dao.UsuarioDao.em(UsuarioDao.java:0)

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://java.sun.com/xml/ns/javaee" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>JpaVRaptorJson</display-name>
  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>messages</param-value>
  </context-param>
  
      <context-param>
        <param-name>br.com.caelum.vraptor.packages</param-name>
        <param-value>br.com.caelum.vraptor.util.jpa</param-value>
    </context-param>
  
  <listener>
    <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
  </listener>
  
</web-app>

usuariodao

package br.com.caelum.vraptor.dao;

import javax.inject.Inject;
import javax.persistence.EntityManager;

import br.com.caelum.vraptor.modelo.Usuario;


public class UsuarioDao {


	@Inject
    private EntityManager em;

	
    public void InsertUser(Usuario usuario) {
        try{
            this.em.persist(usuario);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

Usuario


import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Usuario {

	 @Id @GeneratedValue
     private long idUsuario;
     private String nome;
     private String sobreNome;

     public long getIdUsuario() {
         return idUsuario;
     }

     public void setIdUsuario(long idUsuario) {
         this.idUsuario = idUsuario;
     }

     public String getNome() {
         return nome;
     }

     public void setNome(String nome) {
         this.nome = nome;
     }

     public String getSobreNome() {
         return sobreNome;
     }

     public void setSobreNome(String sobreNome) {
         this.sobreNome = sobreNome;
     }
 }

TesteController


import javax.inject.Inject;

import br.com.caelum.vraptor.Controller;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.dao.UsuarioDao;
import br.com.caelum.vraptor.modelo.Usuario;

@Controller
public class TesteController {

	@Inject 
	private Result result;
	@Inject 
	private UsuarioDao userDao;
    
    
    @Path("/")
    public void index() {}

    @Post @Path("/cadastro")
    public void cadastro(Usuario usuario){


        //System.out.println(usuario);

        this.userDao.InsertUser(usuario);
        this.result.forwardTo(IndexController.class).index();
    }
	
}

/JpaVRaptorJson/src/main/resources/META-INF/beans.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans 	xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
							http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
		version="1.1" bean-discovery-mode="all">

</beans>

/JpaVRaptorJson/src/main/resources/META-INF/persistence.xml


<?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">

      <persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
        <class>br.com.caelum.vraptor.modelo.Usuario</class>        
      </persistence-unit>
    </persistence>

###############################

/JpaVRaptorJson/src/main/resources/hibernate.properties


#hibernate.connection.driver_class=org.hsqldb.jdbcDriver
#hibernate.connection.url=jdbc:hsqldb:file:tmp/devdb
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost/teste
hibernate.connection.username=root
hibernate.connection.password=

hibernate.hbm2ddl.auto=update
hibernate.query.substitutions=true=1, false=0
hibernate.show_sql=true
hibernate.format_sql=true

Movi o beans.xml /src/main/java/WEB-INF/beans.xml parou de dar o erro anterior mas não esta devolvendo os métodos do controle nenhum get funcionando
Segue debug


09:09:40,933  INFO [DefaultConverters   ] Registering bundled converters
09:09:40,941  INFO [DefaultConverters   ] Registering bundled converters
09:09:40,943 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.CalendarConverter to class java.util.Calendar
09:09:40,944 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.PrimitiveDoubleConverter to double
09:09:40,944 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.IntegerConverter to class java.lang.Integer
09:09:40,962 DEBUG [InterceptorStereotypeHandler] Found interceptor for class br.com.caelum.vraptor.interceptor.FlashInterceptor
09:09:40,971 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.ByteConverter to class java.lang.Byte
09:09:40,972 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.PrimitiveShortConverter to short
09:09:40,972 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.ShortConverter to class java.lang.Short
09:09:40,972 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.PrimitiveFloatConverter to float
09:09:40,972 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.FloatConverter to class java.lang.Float
09:09:40,973 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.CharacterConverter to class java.lang.Character
09:09:40,973 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.EnumConverter to class java.lang.Enum
09:09:40,973 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.BigIntegerConverter to class java.math.BigInteger
09:09:40,974 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.observer.upload.UploadedFileConverter to interface br.com.caelum.vraptor.observer.upload.UploadedFile
09:09:40,974 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.PrimitiveBooleanConverter to boolean
09:09:40,974 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.BigDecimalConverter to class java.math.BigDecimal
09:09:40,975 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.DateConverter to class java.util.Date
09:09:40,975 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.LongConverter to class java.lang.Long
09:09:40,976 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.PrimitiveByteConverter to byte
09:09:40,976 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.PrimitiveCharConverter to char
09:09:40,977 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.PrimitiveIntConverter to int
09:09:40,977 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.BooleanConverter to class java.lang.Boolean
09:09:40,977 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.DoubleConverter to class java.lang.Double
09:09:40,977 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.PrimitiveLongConverter to long
09:09:40,978 DEBUG [InterceptorStereotypeHandler] Found interceptor for class br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor
09:09:40,978 DEBUG [DefaultConverters   ] adding converter class br.com.caelum.vraptor.converter.StringConverter to class java.lang.String
09:09:40,986 DEBUG [InterceptorStackHandlersCache] Caching br.com.caelum.vraptor.interceptor.FlashInterceptor 
09:09:41,006 DEBUG [InterceptorStackHandlersCache] Caching br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor 
09:09:41,006  INFO [VRaptor             ] VRaptor 4.0.0-RC2 successfuly initialized
Abr 10, 2014 9:09:41 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
Abr 10, 2014 9:09:41 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Abr 10, 2014 9:09:41 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6943 ms
09:09:41,575 DEBUG [DefaultControllerTranslator] trying to access /
09:09:41,596 DEBUG [VRaptor             ] VRaptor ended the request
09:14:10,085 DEBUG [DefaultControllerTranslator] trying to access /
09:14:10,086 DEBUG [VRaptor             ] VRaptor ended the request

o beans.xml tem que estar em src/main/resources/WEB-INF…

qual versão do plugin vraptor-jpa vc tá usando? deveria ser a 4.0.0-RC2

Criei um novo projeto com o modelo vraptor-blank-project coloquei no web.xml
O valor

br.com.caelum.vraptor.packages
br.com.caelum.vraptor.util.jpa


IndexControlle
import javax.inject.Inject;
import javax.persistence.EntityManager;

import org.hibernate.type.ManyToOneType;

import br.com.caelum.vraptor.Controller;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Result;

@Controller
public class IndexController {

	private final Result result;
	private final EntityManager em;
	


	@Inject
	public IndexController(Result result, EntityManager manager) {
		this.result = result;
		this.em = manager;
	}

	@Path("/")
	public void index() {
		result.include("variable", "VRaptor!");
	}
}

Criei o /vraptor-blank-project/src/main/resources/hibernate.properties


hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost/teste
hibernate.connection.username=root
hibernate.connection.password=

hibernate.hbm2ddl.auto=update
hibernate.query.substitutions=true=1, false=0
hibernate.show_sql=true
hibernate.format_sql=true

/vraptor-blank-project/src/main/resources/META-INF/persistence.xml


<?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">

      <persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
        <class>br.com.caelum.vraptor.modelo.Usuario</class>        
      </persistence-unit>
    </persistence>

SEVERE: Exception sending context initialized event to listener instance of class org.jboss.weld.environment.servlet.Listener
org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type EntityManager with qualifiers @Default
  at injection point [BackedAnnotatedParameter] Parameter 2 of [BackedAnnotatedConstructor] @Inject public br.com.caelum.vraptor.controller.IndexController(Result, EntityManager)
  at br.com.caelum.vraptor.controller.IndexController.<init>(IndexController.java:0)

	at org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:368)
	at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:289)
	at org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:135)
	at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:166)
	at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:514)
	at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:68)
	at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:66)
	at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
	at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:724)

Abr 10, 2014 9:53:49 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Abr 10, 2014 9:53:49 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/vraptor-blank-project] startup failed due to previous errors
Abr 10, 2014 9:53:49 AM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class org.jboss.weld.environment.servlet.Listener
java.lang.NullPointerException
	at org.jboss.weld.servlet.WeldInitialListener.contextDestroyed(WeldInitialListener.java:120)
	at org.jboss.weld.servlet.api.helpers.ForwardingServletListener.contextDestroyed(ForwardingServletListener.java:30)
	at org.jboss.weld.environment.servlet.Listener.contextDestroyed(Listener.java:85)
	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4980)
	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5626)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:656)
	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1635)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:724)

Lucas Acabei de trocar para o pugin 4.0.0-RC2 aconteceu o seguinte erro:


Abr 10, 2014 10:04:19 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [/vraptor-blank-project] threw exception
org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001435: Normal scoped bean class br.com.caelum.vraptor.controller.IndexController is not proxyable because it has no no-args constructor - <unknown javax.enterprise.inject.spi.Bean instance>.
	at org.jboss.weld.util.Proxies.getUnproxyableClassException(Proxies.java:214)
	at org.jboss.weld.util.Proxies.getUnproxyableTypeException(Proxies.java:178)
	at org.jboss.weld.util.Proxies.getUnproxyableTypeException(Proxies.java:140)
	at org.jboss.weld.bean.proxy.ClientProxyProvider.getClientProxy(ClientProxyProvider.java:213)
	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:727)
	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:753)
	at org.jboss.weld.util.ForwardingBeanManager.getReference(ForwardingBeanManager.java:61)
	at org.jboss.weld.bean.builtin.BeanManagerProxy.getReference(BeanManagerProxy.java:80)
	at br.com.caelum.vraptor.ioc.cdi.CDIBasedContainer.instanceFor(CDIBasedContainer.java:44)
	at br.com.caelum.vraptor.ioc.cdi.CDIBasedContainer$Proxy$_$$_WeldClientProxy.instanceFor(Unknown Source)
	at br.com.caelum.vraptor.observer.InstantiateObserver.instantiate(InstantiateObserver.java:57)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	at br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:87)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:112)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:724)

Troquei o beans.xml para src/main/resources/WEB-INF. ai nao acessa os controlles nenhum get.

IndexController is not proxyable because it has no no-args constructor

vc precisa adicionar um construtor sem argumentos em todas as classes que recebem injeção pelo construtor.

o plugin da jpa é um outro jar que vc coloca na aplicação, não é mais só colocar aquelas linhas no web.xml.

PS: coloque os códigos entre e

Lucas muito obrigado pela ajuda!!!

Resolvido tudo .

Solução:

Troquei o plugin para o vraptor-jpa 4.0.0-RC2
e acrescentei na classe controller o construtor sem argumentos

	/**
	 * @deprecated CDI eyes only
	 */
	public IndexController() {
		this(null, null);
	}

Nota* esta funcionando com “beans” em /src/main/resources/META-INF/beans.xml
não funcionou com ele na pasta WEB-INF

esse é o lugar certo dele mesmo, em src/main/resources/META-INF

Lucas tenho uma duvida, quando tentei fazer as injects com minha própria class Dao não funciono conforme erros acimas, depois de funcionar com o plugin peguei o código dele e coloquei em meu pacote novamente da o mesmo erro por que funciona no plugin e não funciona no código, estou perguntando para entender por que o CDI não esta lendo minhas class comentada com Produces ?

não sei se eu entendi o que vc quis dizer.

toda classe precisa ter um construtor sem argumentos, por causa do CDI.

que erro está dando? vc copiou exatamente as classes do plugin e deu erro na sua app?

o que vc quer dizer com comentada com Produces? não seria anotada?

Sim copiei exatamente as classes do plugin e da o erro

se troco o beans para WEB-INF não da erro mas o Vraptor para de funcionar! nao responde a nenhum solicitação embora no debug mostra que ele subiu

não troca o beans.xml de lugar, ele tem que estar em src/main/resources/WEB-INF/

vc copiou a classe do plugin que tem o @Produces de EntityManager?

Então e isso que eu estou falando ele vem no vraptor-blank-project no path src/main/resources/META-INF/
dessa forma funciona com o plugin se mudar para WEB-INF nao funciona quando copie as classes EntityManagerFactory, EntityManagerFactoryCreator, JPATransactionInterceptor sem mudar o beans para WEB-INF aparece o erro

se coloco o beans na pasta WEB-INF não aparece o erro mas o vraptor não reconhece as request para os controller, ele nem configura meu controller e metodos.

Tenta colocar um breakpoint nos métodos que tem @Produces do plugin e subir o servidor em modo de debug.

Veja se está passando por lá.

Aparece algum log do hibernate ou do plugin no console do servidor?

Não para fazer o teste eu removi o plugin estou tentando rodar só com as classes do plugin copiada para o projeto com o plugin esta rodando

nenhum log

com o plugin está rodando? qual é o problema então?

Finalmente encontrei o erro, coloquei as classes do plugin dentro do pacote br.com.caelum.vraptor.util do meu projeto, o grande problema é que o vraptor tem uma pacote chamado br.com.caelum.vraptor.util e por algum motivo deu todos esses erros, depois de quebrar bastante a cabeça troquei o nome do pacote e tudo funcionou perfeitamente , obrigado ao Lucas por todo o interesse em ajudar.