Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Guice Persist+;Maven+;GWT_Gwt_Maven_Jpa 2.0_Guice - Fatal编程技术网

Guice Persist+;Maven+;GWT

Guice Persist+;Maven+;GWT,gwt,maven,jpa-2.0,guice,Gwt,Maven,Jpa 2.0,Guice,我试着用maven、gwt、gwt平台和guice persist做一个例子 但是,我遇到了麻烦 当我尝试使用mvn gwt:run运行示例时,出现以下异常: 1) Error injecting constructor, javax.persistence.PersistenceException: [PersistenceUnit: exemplo] Unable to build EntityManagerFactory at br.net.meditec.Exemplo.server

我试着用maven、gwt、gwt平台和guice persist做一个例子

但是,我遇到了麻烦

当我尝试使用
mvn gwt:run
运行示例时,出现以下异常:

1) Error injecting constructor, javax.persistence.PersistenceException: [PersistenceUnit: exemplo] Unable to build EntityManagerFactory   at br.net.meditec.Exemplo.server.inject.AppInitializer.<init>(AppInitializer.java:9)   while locating br.net.meditec.Exemplo.server.inject.AppInitializer  1 error    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)     at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)  at br.net.meditec.Exemplo.server.inject.GuiceServletConfig.getInjector(GuiceServletConfig.java:24)  at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)   at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)     at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)     at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)   at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468)     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)    at org.mortbay.jetty.Server.doStart(Server.java:222)    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:672)   at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)     at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)     at com.google.gwt.dev.DevMode.main(DevMode.java:311) Caused by: javax.persistence.PersistenceException: [PersistenceUnit: exemplo] Unable to build EntityManagerFactory     at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)  at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)    at com.google.inject.persist.jpa.JpaPersistService.start(JpaPersistService.java:94)     at br.net.meditec.Exemplo.server.inject.AppInitializer.<init>(AppInitializer.java:10)   at br.net.meditec.Exemplo.server.inject.AppInitializer$$FastClassByGuice$$96bdac91.newInstance(<generated>)     at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)   at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)   at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)  at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)     at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)  at br.net.meditec.Exemplo.server.inject.GuiceServletConfig.getInjector(GuiceServletConfig.java:24)  at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)   at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)     at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)     at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)   at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468)     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)    at org.mortbay.jetty.Server.doStart(Server.java:222)    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:672)   at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)     at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)     at com.google.gwt.dev.DevMode.main(DevMode.java:311) Caused by: org.hibernate.HibernateException: Could not instantiate dialect class   at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:82)  at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:64)  at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:146)     at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)     at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)   at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)  at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71)     at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2273)   at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2269)   at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1738)     at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:88)  at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)  at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)    at com.google.inject.persist.jpa.JpaPersistService.start(JpaPersistService.java:94)     at br.net.meditec.Exemplo.server.inject.AppInitializer.<init>(AppInitializer.java:10)   at br.net.meditec.Exemplo.server.inject.AppInitializer$$FastClassByGuice$$96bdac91.newInstance(<generated>)     at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)   at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)   at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)  at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)     at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)  at br.net.meditec.Exemplo.server.inject.GuiceServletConfig.getInjector(GuiceServletConfig.java:24)  at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)   at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)     at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)     at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)   at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468)     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)    at org.mortbay.jetty.Server.doStart(Server.java:222)    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:672)   at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)     at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)     at com.google.gwt.dev.DevMode.main(DevMode.java:311) Caused by: java.lang.ClassCastException: org.hibernate.dialect.PostgreSQLDialect cannot be cast to org.hibernate.dialect.Dialect   at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:73)  at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:64)  at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:146)     at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)     at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)   at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)  at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71)     at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2273)   at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2269)   at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1738)     at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:88)  at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)  at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)    at com.google.inject.persist.jpa.JpaPersistService.start(JpaPersistService.java:94)     at br.net.meditec.Exemplo.server.inject.AppInitializer.<init>(AppInitializer.java:10)   at br.net.meditec.Exemplo.server.inject.AppInitializer$$FastClassByGuice$$96bdac91.newInstance(<generated>)     at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)   at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)   at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)  at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)     at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)  at br.net.meditec.Exemplo.server.inject.GuiceServletConfig.getInjector(GuiceServletConfig.java:24)  at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)   at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)     at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)     at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)   at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468)     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)    at org.mortbay.jetty.Server.doStart(Server.java:222)    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)     at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:672)   at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)     at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)     at com.google.gwt.dev.DevMode.main(DevMode.java:311)
1) Error injecting constructor, javax.persistence.PersistenceException: No Persistence provider for EntityManager named exemplo
  at br.net.meditec.Exemplo.server.inject.AppInitializer.<init>(AppInitializer.java:9)
  while locating br.net.meditec.Exemplo.server.inject.AppInitializer

1 error
    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
    at br.net.meditec.Exemplo.server.inject.GuiceServletConfig.getInjector(GuiceServletConfig.java:24)
    at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
    at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:222)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:672)
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
    at com.google.gwt.dev.DevMode.main(DevMode.java:311)
Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named exemplo
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
    at com.google.inject.persist.jpa.JpaPersistService.start(JpaPersistService.java:94)
    at br.net.meditec.Exemplo.server.inject.AppInitializer.<init>(AppInitializer.java:10)
    at br.net.meditec.Exemplo.server.inject.AppInitializer$$FastClassByGuice$$96bdac91.newInstance(<generated>)
    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
    ... 21 more
所以,我不明白发生了什么。有人能帮忙吗

如果有帮助的话,请联系我们


非常感谢。

您以前编译过所有内容吗?因为我克隆了存储库并制作了mvn clean软件包,之后我做了:mvn gwt:在persisence.xml中运行时没有问题..仅使用PostgreSQL数据库,因为我的笔记本上没有一个。我这样做了,得到了一个
java.lang.ClassCastException:org.hibernate.dialogue.PostgreSqlDialogue无法转换为org.hibernate.dialogue.dialogue
您以前编译过所有内容吗?因为我克隆了存储库并制作了mvn clean包,之后我做了:mvn gwt:在persiscence.xml中运行没有问题..只使用PostgreSQL数据库,因为我的笔记本上没有一个..我这样做并得到了一个
java.lang.ClassCastException:org.hibernate.dial.PostgreSqlDialogue无法转换为org.hibernate.dialogue.dialogue
public class DaoInjectionTest {
    public static void main(String[] args) {
        Injector injector = Guice.createInjector(new DaoModule(),
                new JpaPersistModule("exemplo"));
        injector.getInstance(AppInitializer.class);

        injector.getInstance(RacaDao.class).save(new Raca("cachorro pastor alemao"));
    }
}