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

尝试使用hibernate 4创建SessionFactory时发生异常,hibernate,guice,hibernate-search,Hibernate,Guice,Hibernate Search,我已经从Hibernate3升级到Hibernate4。 但是在尝试构建SessionFactory时 配置=新配置(); sessionFactory=configuration.configure(“app.cfg.xml”).buildSessionFactory() 我得到以下异常 失败的guiceFilter java.util.ServiceConfigurationError:org.hibernate.integrator.spi.integrator:Provider org.

我已经从Hibernate3升级到Hibernate4。 但是在尝试构建SessionFactory时

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

我得到以下异常

失败的guiceFilter java.util.ServiceConfigurationError:org.hibernate.integrator.spi.integrator:Provider org.hibernate.search.hcore.impl.hibernateSarchintegrator无法实例化:java.lang.ClassCastException:无法将org.hibernate.search.hcore.impl.hibernateSarchintegrator强制转换为org.hibernate.integrator.spi.integrator 位于java.util.ServiceLoader.fail(未知源) 位于java.util.ServiceLoader.access的$100(未知来源) 位于java.util.ServiceLoader$LazyIterator.next(未知源) 位于java.util.ServiceLoader$1.next(未知源) 位于org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:251) 位于org.hibernate.integrator.internal.IntegratorServiceImpl.(IntegratorServiceImpl.java:53) 位于org.hibernate.service.internal.BootstrapServiceRegistryImpl.(BootstrapServiceRegistryImpl.java:80) 位于org.hibernate.service.internal.bootstrapserviceregistrympl.(bootstrapserviceregistrympl.java:57) 位于org.hibernate.service.ServiceRegistryBuilder。(ServiceRegistryBuilder.java:76) 位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1767) 位于com.app.server.data.hibernate.SessionProvider.createSessionFactory(SessionProvider.java:55) 位于com.app.server.data.hibernate.HibernateDataSourceConnector.init(HibernateDataSourceConnector.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(ManagedFilterPipeline.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(AbstractLifeCycle.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.jetty.jettylancher$WebAppContextWithReload.doStart(jettylancher.java:468) 位于org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.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(AbstractLifeCycle.java:39) 位于org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 位于org.mortbay.jetty.Server.doStart(Server.java:222) 位于org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 在com.google.gwt.dev.shell.jetty.jettylancher.start(jettylancher.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.hibernate.search.hcore.impl.hibernateSarchintegrator强制转换为org.hibernate.integrator.spi.integrator 位于java.lang.Class.cast(未知源) ... 35多

以下是我项目中的JAR

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.hibernate搜索版本4.1.1.Final的Archintegrator实现了hibernate ORM v的org.hibernate.integrator.spi.integrator。4.1.3.最终版本

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

我建议您使用一个漂亮的命令行工具扫描您的应用程序,它将探索您的JAR以找到重复的JAR

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