java - VRaptor - Guice Creation Errors -
i cant understand why error dont go away tryed several things using version of hibernate-entitymanager, adding vraptor-jpa 1.0, nothing works:
error:
21:58:20,041 error [io.undertow.request] (default task-1) ut005023: exception handling request /vraptor/: com.google.inject.creationexception: guice creation errors: 1) no implementation javax.persistence.entitymanager bound. while locating javax.persistence.entitymanager parameter 0 @ vraptor.usuariodao.<init>(usuariodao.java:14) @ br.com.caelum.vraptor.ioc.guice.guicecomponentregistry.bindtoconstructor(guicecomponentregistry.java:151) 1 error @ com.google.inject.internal.errors.throwcreationexceptioniferrorsexist(errors.java:435) [guice-3.0.jar:] @ com.google.inject.internal.internalinjectorcreator.initializestatically(internalinjectorcreator.java:154) [guice-3.0.jar:] @ com.google.inject.internal.internalinjectorcreator.build(internalinjectorcreator.java:106) [guice-3.0.jar:] @ com.google.inject.guice.createinjector(guice.java:95) [guice-3.0.jar:] @ com.google.inject.guice.createinjector(guice.java:83) [guice-3.0.jar:] @ br.com.caelum.vraptor.ioc.guice.guiceprovider.start(guiceprovider.java:97) [vraptor-3.5.3.jar:] @ br.com.caelum.vraptor.vraptor.init(vraptor.java:119) [vraptor-3.5.3.jar:] @ br.com.caelum.vraptor.vraptor.init(vraptor.java:113) [vraptor-3.5.3.jar:] @ io.undertow.servlet.core.managedfilter.getfilter(managedfilter.java:69) [undertow-servlet-1.0.0.beta30.jar:1.0.0.beta30] @ io.undertow.servlet.core.managedfilter.dofilter(managedfilter.java:56) [undertow-servlet-1.0.0.beta30.jar:1.0.0.beta30] @ io.undertow.servlet.handlers.filterhandler$filterchainimpl.dofilter(filterhandler.java:132) [undertow-servlet-1.0.0.beta30.jar:1.0.0.beta30] ... the indexcontroller.java:
package vraptor; import br.com.caelum.vraptor.path; import br.com.caelum.vraptor.post; import br.com.caelum.vraptor.resource; import br.com.caelum.vraptor.result; @resource public class indexcontroller { private final result result; private final usuariodao userdao; public indexcontroller(result result, usuariodao userdao) { this.result = result; this.userdao= 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(); } } the usuariodao
package vraptor; import javax.persistence.entitymanager; import br.com.caelum.vraptor.ioc.component; @component public class usuariodao { //private entitymanager em = new entitymanagercreator().getinstance(); private entitymanager em; public usuariodao(entitymanager em){ this.em = em; } public void insertuser(usuario usuario) { try{ this.em.persist(usuario); }catch(exception e){ e.printstacktrace(); } } } the usuario.java
package vraptor; import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; @entity public class usuario { @id @generatedvalue(strategy = generationtype.identity) 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; } } the persistence:
<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"> <provider>org.hibernate.ejb.hibernatepersistence</provider> <class>vraptor.usuario</class> <properties> <property name="hibernate.connection.username" value="postgres"/> <property name="hibernate.connection.driver_class" value="org.postgresql.driver"/> <property name="hibernate.connection.password" value="12345"/> <property name="hibernate.connection.url" value="jdbc:postgresql://localhost/teste"/> <property name="hibernate.connection.dialect" value="org.hibernate.dialect.postgresqldialect"/> <property name="hibernate.hbm2ddl.auto" value="update"/> <property name="hibernate.show.sql" value="false"/> <property name="hibernate.format.sql" value="false"/> </properties> </persistence-unit> </persistence> and pom.xml
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>modelo0</groupid> <artifactid>modelo0</artifactid> <version>0.0.1-snapshot</version> <packaging>war</packaging> <dependencies> <dependency> <groupid>com.sun.faces</groupid> <artifactid>jsf-api</artifactid> <version>2.2.5</version> </dependency> <dependency> <groupid>postgresql</groupid> <artifactid>postgresql</artifactid> <version>9.1-901.jdbc4</version> </dependency> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-entitymanager</artifactid> <version>4.3.4.final</version> </dependency> <dependency> <groupid>br.com.caelum</groupid> <artifactid>vraptor</artifactid> <version>3.5.3</version> </dependency> </dependencies> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> </project>
answer here:
upgrade vraptor 3.5.3 java.lang.noclassdeffounderror: br/com/caelum/vraptor/validator/validator
from: @andregnhoato (brasileiro lindo meu coraÇÃo) figured out happening upgrade process. i'm using project, jar manages instances of entitymanager vraptor-jpa, when kept update, occasioned error. compatibility be: vraptor in version 3.4.2, use plugin vraptor-jpa-4.0.0.jar vraptor in version 3.5.3, plugin uses vraptor-jpa-1.0.1.jar change enough solve problem.
Comments
Post a Comment