尝试使用hibernate 4创建SessionFactory时发生异常



我已从hibernate 3升级到hibernate 4。但是在尝试构建SessionFactory 时

配置配置=新配置();sessionFactory=configuration.configure("app.cfg.xml").buildSessionFactory();

我得到以下异常

失败的guideFilterjava.util.ServiceConfigurationError:org.hibernate.integrator.spi.integrator:无法实例化提供程序org.ibernate.search.hcore.impl.hibernate SearchIntegrator:java.lang.ClassCastException:无法将org.ibernate.search.hcore.impl.hibernate search integrator强制转换为org.hibernate.integrator.spi.Intergrator位于java.util.ServiceLoader.fail(未知源)位于java.util.ServiceLoader.access$100(未知源)位于java.util.ServiceLoader$LazyTerator.next(未知源)位于java.util.ServiceLoader$1.next(未知源)位于org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderService Impl.java:251)网址:org.hibernate。integrator。internal。IntegratorServiceImpl。(IntegratorServiceImpl.java:53)位于org.hibernate.service.internal.BootstrapServiceRegistryImpl.(BootstrapServiceRegisterImpl.java:80)位于org.hibernate.service.internal.BootstrapServiceRegistryImpl.(BootstrapServiceRegisterImpl.java:57)网址:org.hibernate.service.ServiceRegistryBuilder.(ServiceRegistryBuilder.java:76)位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1767)在com.app.server.data.hhibernate.SessionProvider.createSessionFactory(SessionProvider.java:55)位于com.app.server.data.hhibernate。hibernate DataSourceConnector.init(hibernate DataSourceConnector.java:39)位于com.eng.server.services.ConfigurationServlet.init(ConfigurationServlet.java:42)网址:com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:117)网址:com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82)网址:com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPiperine.java:102)网址:com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:172)网址:org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)网址:org.mortbay.component.AbstractLifeCycle.start(AbstractLife Cycle.java:39)网址:org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:593)网址:org.mortbay.jetty.servlet.Context.startContext(Context.java:140)网址:org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)网址:org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)网址:org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)网址:com.google.gwt.dev.shell.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468)网址:org.mortbay.component.AbstractLifeCycle.start(AbstractLife Cycle.java:39)网址:org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)网址:org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)网址:org.mortbay.component.AbstractLifeCycle.start(AbstractLife Cycle.java:39)网址:org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)网址:org.mortbay.jetty.Server.doStart(Server.java:222)网址:org.mortbay.component.AbstractLifeCycle.start(AbstractLife Cycle.java:39)网址:com.google.gwt.dev.shell.JettyLauncher.start(JettyLauncher.java:672)网址:com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)网址:com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)网址:com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)网址:com.google.gwt.dev.DevMode.main(DevMode.java:311)由以下原因引起:java.lang.ClassCastException:无法将org.hubinate.search.hcore.impl.hibernate SearchIntegrator强制转换为org.hubinatE.integrator.spi.integrator位于java.lang.Class.cast(未知源)…再增加35个

以下是我的项目中的罐子

antlr-2.7.7.jar
antlr.jar
aopalliance.jar
avro-1.5.1.jar
cglib-2.2.jar
commons-beanutils-1.8.2.jar
commons-collections-3.2.jar
commons-configuration-1.7.jar
commons-fileupload-1.2.jar
commons-io-1.3.1.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
gin-2.0.jar
guice-3.0.jar
guice-assistedinject-3.0.jar
guice-multibindings-3.0.jar
guice-servlet-3.0.jar
guice-throwingproviders-3.0.jar
gwt-servlet.jar
hibernate-commons-annotations-4.0.1.Final.jar
hibernate-core-4.1.3.Final.jar
hibernate-entitymanager-4.1.3.Final.jar
hibernate-search-engine-4.1.1.Final.jar
hibernate-search-orm-4.1.1.Final.jar
hibernate-validator-4.0.2.GA.jar
jackson-core-asl-1.9.2.jar
jackson-mapper-asl-1.9.2.jar
javassist-3.4.GA.jar
javax.inject.jar
javax.persistence-2.0.0.jar
jboss-logging-3.1.0.GA.jar
jta-1.1.jar
log4j-1.2.15.jar
lucene-core-3.5.0.jar
mvp4g-1.4.0.jar
mysql-connector-java-5.1.18-bin.jar
paranamer-2.3.jar
slf4j-api-1.6.1.jar
slf4j-jcl-1.6.0.jar
snappy-java-1.0.1-rc3.jar

依赖项是否正确,或者我遗漏了什么?

org.hibernate search.hcore.impl.HHibernate SearchIntegrator的hibernate search版本4.1.1.Final实现了org/hibernate ORM v.4.1.3.最终

因此,由于您的依赖关系看起来很完美,唯一的解释是您有一些重复的类定义。

我建议使用JBoss Tattletale扫描您的应用程序,这是一个漂亮的命令行工具,可以探索您的jar以找到重复项。

例如,看起来您有一个重复的antlr

相关内容

最新更新