2
votes

I have upgraded to hibernate 4 from hibernate 3. but while trying to build the SessionFactory

Configuration configuration = new Configuration(); sessionFactory = configuration.configure("app.cfg.xml").buildSessionFactory();

I am getting the following exception

failed guiceFilter java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Provider org.hibernate.search.hcore.impl.HibernateSearchIntegrator could not be instantiated: java.lang.ClassCastException: Cannot cast org.hibernate.search.hcore.impl.HibernateSearchIntegrator to org.hibernate.integrator.spi.Integrator at java.util.ServiceLoader.fail(Unknown Source) at java.util.ServiceLoader.access$100(Unknown Source) at java.util.ServiceLoader$LazyIterator.next(Unknown Source) at java.util.ServiceLoader$1.next(Unknown Source) at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:251) at org.hibernate.integrator.internal.IntegratorServiceImpl.(IntegratorServiceImpl.java:53) at org.hibernate.service.internal.BootstrapServiceRegistryImpl.(BootstrapServiceRegistryImpl.java:80) at org.hibernate.service.internal.BootstrapServiceRegistryImpl.(BootstrapServiceRegistryImpl.java:57) at org.hibernate.service.ServiceRegistryBuilder.(ServiceRegistryBuilder.java:76) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1767) at com.app.server.data.hibernate.SessionProvider.createSessionFactory(SessionProvider.java:55) at com.app.server.data.hibernate.HibernateDataSourceConnector.init(HibernateDataSourceConnector.java:39) at com.eng.server.services.ConfigurationServlet.init(ConfigurationServlet.java:42) at com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:117) at com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82) at com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:102) at com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:172) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:593) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 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: Cannot cast org.hibernate.search.hcore.impl.HibernateSearchIntegrator to org.hibernate.integrator.spi.Integrator at java.lang.Class.cast(Unknown Source) ... 35 more

following are the jars in my project

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

Are the dependencies correct or I am missing on something?

1

1 Answers

1
votes

org.hibernate.search.hcore.impl.HibernateSearchIntegrator of Hibernate Search version 4.1.1.Final implements org.hibernate.integrator.spi.Integrator of Hibernate ORM v. 4.1.3.Final

so since your dependencies look like perfect, the only explanation is that you have some duplicate class definitions.

I'd suggest scanning your application with JBoss Tattletale, a nifty command line tool which will explore your jars to find duplicates.

For example it looks like you have a duplicate antlr.