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.