Hide Forgot
Description of problem: For examples which use JAX-RS and Hibernate Search 4, both project depends on a Jackson mapper. However, there is a 1.6.3 distributed in AS 7 and 1.7.3 required by Avro in Hibernate 4 Search. These two versions are not compatible leading to a failure during deployment: 14:37:38,967 INFO [org.hibernate.search.Version] (MSC service thread 1-4) HSEARCH000034: Hibernate Search 4.0.0.CR1-redhat-1 14:37:38,981 WARN [org.hibernate.search.impl.ConfigContext] (MSC service thread 1-4) HSEARCH000075: Configuration setting hibernate.search.lucene_version was not specified, using LUCENE_CURRENT. 14:37:39,068 INFO [org.hibernate.search.indexes.serialization.avro.impl.AvroSerializationProvider] (MSC service thread 1-4) HSEARCH000079: Serialization protocol version 1.0 14:37:39,117 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.persistenceunit."jboss-as-kitchensink-search.war#primary": org.jboss.msc.service.StartException in service jboss.persistenceunit."jboss-as-kitchensink-search.war#primary": Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1780) [jboss-msc-1.0.1.GA-redhat-1.jar:1.0.1.GA-redhat-1] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_27] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_27] at java.lang.Thread.run(Thread.java:662) [:1.6.0_27] Caused by: java.lang.NoSuchMethodError: org.codehaus.jackson.type.JavaType.<init>(Ljava/lang/Class;I)V at org.codehaus.jackson.map.type.TypeBase.<init>(TypeBase.java:13) at org.codehaus.jackson.map.type.SimpleType.<init>(SimpleType.java:45) at org.codehaus.jackson.map.type.SimpleType.<init>(SimpleType.java:40) at org.codehaus.jackson.map.type.TypeBindings.<clinit>(TypeBindings.java:20) at org.codehaus.jackson.map.type.TypeFactory._fromType(TypeFactory.java:538) at org.codehaus.jackson.map.type.TypeFactory.type(TypeFactory.java:63) at org.codehaus.jackson.map.ObjectMapper.<clinit>(ObjectMapper.java:182) at org.apache.avro.Schema.<clinit>(Schema.java:79) at org.apache.avro.Protocol.<clinit>(Protocol.java:181) at org.hibernate.search.indexes.serialization.avro.impl.AvroSerializationProvider.parseProtocol(AvroSerializationProvider.java:116) at org.hibernate.search.indexes.serialization.avro.impl.AvroSerializationProvider.<init>(AvroSerializationProvider.java:103) at org.hibernate.search.backend.BackendFactory.createSerializer(BackendFactory.java:124) at org.hibernate.search.indexes.impl.DirectoryBasedIndexManager.initialize(DirectoryBasedIndexManager.java:94) at org.hibernate.search.indexes.impl.IndexManagerHolder.createDirectoryManager(IndexManagerHolder.java:197) at org.hibernate.search.indexes.impl.IndexManagerHolder.buildEntityIndexBinding(IndexManagerHolder.java:113) at org.hibernate.search.spi.SearchFactoryBuilder.initDocumentBuilders(SearchFactoryBuilder.java:376) at org.hibernate.search.spi.SearchFactoryBuilder.buildNewSearchFactory(SearchFactoryBuilder.java:227) at org.hibernate.search.spi.SearchFactoryBuilder.buildSearchFactory(SearchFactoryBuilder.java:144) at org.hibernate.search.event.impl.FullTextIndexEventListener.initialize(FullTextIndexEventListener.java:129) at org.hibernate.search.hcore.impl.HibernateSearchIntegrator.integrate(HibernateSearchIntegrator.java:82) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:294) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1726) at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:76) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:907) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:887) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73) at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:150) at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl.java:78) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA-redhat-1.jar:1.0.1.GA-redhat-1] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA-redhat-1.jar:1.0.1.GA-redhat-1] ... 3 more 14:37:39,328 INFO [org.jboss.as.server.controller] (pool-1-thread-3) Deployment of "jboss-as-kitchensink-search.war" was rolled back with failure message {"Failed services" => {"jboss.persistenceunit.\"jboss-as-kitchensink-search.war#primary\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"jboss-as-kitchensink-search.war#primary\": Failed to start service"}} 14:37:39,387 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) Stopped deployment jboss-as-kitchensink-search.war in 58ms Version-Release number of selected component (if applicable): How reproducible: Always. Steps to Reproduce: 1. Have an application with both JAX-RS and Hibernate Search Actual results: Deployment fails. Expected results: Deployment pass. Additional info: Workaround Description: Include following jboss-deployment-structure.xml into WEB-INF directory <jboss-deployment-structure> <deployment> <exclusions> <module name="org.codehaus.jackson.jackson-core-asl" slot="main" /> <module name="org.codehaus.jackson.jackson-xc" slot="main" /> <module name="org.codehaus.jackson.jackson-mapper-asl" slot="main" /> </exclusions> </deployment> </jboss-deployment-structure>
Verified with EAP 6.0.0.ER3 and WFK 6.0.0.ER3.
Verified in WFK 2.0.0.ER3 (a.k.a. 2.0.0.Beta1).