ClassCastException: Lucene40PostingsFormat on Hibernate Search

余生长醉 提交于 2019-12-12 04:20:55

问题


I am trying using Hibernate-Search for add full text search capabilities but when i try deploy the ear proyect on glashfish application server i get the Lucene40PostingsFormat classCastException.

here it is the complete server log:

Información:   HHH000412: Hibernate Core {[WORKING]}
Información:   HHH000206: hibernate.properties not found
Información:   HHH000021: Bytecode provider name : javassist
Información:   HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
Información:   HHH000400: Using dialect: org.hibernate.dialect.DerbyDialect
WARN:   HHH000430: The DerbyDialect dialect has been deprecated; use one of the version-specific dialects instead
Información:   HSEARCH000034: Hibernate Search 5.5.4.Final
Información:   HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@50ae9aef'
Grave:   java.lang.ExceptionInInitializerError
    at org.apache.lucene.codecs.PostingsFormat.forName(PostingsFormat.java:112)
    at org.apache.lucene.codecs.lucene40.Lucene40Codec.<init>(Lucene40Codec.java:115)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at java.lang.Class.newInstance(Class.java:442)
    at org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:67)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:45)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37)
    at org.apache.lucene.codecs.Codec$Holder.<clinit>(Codec.java:47)
    at org.apache.lucene.codecs.Codec.getDefault(Codec.java:140)
    at org.apache.lucene.index.LiveIndexWriterConfig.<init>(LiveIndexWriterConfig.java:120)
    at org.apache.lucene.index.IndexWriterConfig.<init>(IndexWriterConfig.java:140)
    at org.hibernate.search.store.spi.DirectoryHelper.initializeIndexIfNeeded(DirectoryHelper.java:54)
    at org.hibernate.search.store.impl.DirectoryProviderHelper.createFSIndex(DirectoryProviderHelper.java:128)
    at org.hibernate.search.store.impl.FSDirectoryProvider.initialize(FSDirectoryProvider.java:53)
    at org.hibernate.search.store.spi.BaseDirectoryProviderService.initialize(BaseDirectoryProviderService.java:64)
    at org.hibernate.search.store.spi.BaseDirectoryProviderService.create(BaseDirectoryProviderService.java:52)
    at org.hibernate.search.indexes.spi.DirectoryBasedIndexManager.createDirectoryProvider(DirectoryBasedIndexManager.java:230)
    at org.hibernate.search.indexes.spi.DirectoryBasedIndexManager.initialize(DirectoryBasedIndexManager.java:90)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:256)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:513)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManagers(IndexManagerHolder.java:482)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.buildEntityIndexBinding(IndexManagerHolder.java:91)
    at org.hibernate.search.spi.SearchIntegratorBuilder.initDocumentBuilders(SearchIntegratorBuilder.java:358)
    at org.hibernate.search.spi.SearchIntegratorBuilder.buildNewSearchFactory(SearchIntegratorBuilder.java:199)
    at org.hibernate.search.spi.SearchIntegratorBuilder.buildSearchIntegrator(SearchIntegratorBuilder.java:117)
    at org.hibernate.search.hcore.impl.HibernateSearchSessionFactoryObserver.sessionFactoryCreated(HibernateSearchSessionFactoryObserver.java:75)
    at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:364)
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:490)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:878)
    at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:151)
    at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:199)
    at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:107)
    at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:223)
    at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
    at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230)
    at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:925)
    at org.glassfish.javaee.full.deployment.EarDeployer.prepareBundle(EarDeployer.java:309)
    at org.glassfish.javaee.full.deployment.EarDeployer.access$200(EarDeployer.java:88)
    at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:155)
    at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:152)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnBundles(EarDeployer.java:232)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllTypedBundles(EarDeployer.java:241)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllBundles(EarDeployer.java:267)
    at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:152)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:925)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:434)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:360)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:360)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
    at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
    at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(Abstra
Grave:   ctThreadPool.java:545)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassCastException: class org.apache.lucene.codecs.lucene40.Lucene40PostingsFormat
    at java.lang.Class.asSubclass(Class.java:3404)
    at org.apache.lucene.util.SPIClassIterator.next(SPIClassIterator.java:141)
    at org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:65)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:47)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37)
    at org.apache.lucene.codecs.PostingsFormat$Holder.<clinit>(PostingsFormat.java:49)
    ... 89 more
Grave:   Exception while preparing the app
Grave:   Exception during lifecycle processing
java.lang.ExceptionInInitializerError
    at org.apache.lucene.codecs.PostingsFormat.forName(PostingsFormat.java:112)
    at org.apache.lucene.codecs.lucene40.Lucene40Codec.<init>(Lucene40Codec.java:115)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at java.lang.Class.newInstance(Class.java:442)
    at org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:67)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:45)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37)
    at org.apache.lucene.codecs.Codec$Holder.<clinit>(Codec.java:47)
    at org.apache.lucene.codecs.Codec.getDefault(Codec.java:140)
    at org.apache.lucene.index.LiveIndexWriterConfig.<init>(LiveIndexWriterConfig.java:120)
    at org.apache.lucene.index.IndexWriterConfig.<init>(IndexWriterConfig.java:140)
    at org.hibernate.search.store.spi.DirectoryHelper.initializeIndexIfNeeded(DirectoryHelper.java:54)
    at org.hibernate.search.store.impl.DirectoryProviderHelper.createFSIndex(DirectoryProviderHelper.java:128)
    at org.hibernate.search.store.impl.FSDirectoryProvider.initialize(FSDirectoryProvider.java:53)
    at org.hibernate.search.store.spi.BaseDirectoryProviderService.initialize(BaseDirectoryProviderService.java:64)
    at org.hibernate.search.store.spi.BaseDirectoryProviderService.create(BaseDirectoryProviderService.java:52)
    at org.hibernate.search.indexes.spi.DirectoryBasedIndexManager.createDirectoryProvider(DirectoryBasedIndexManager.java:230)
    at org.hibernate.search.indexes.spi.DirectoryBasedIndexManager.initialize(DirectoryBasedIndexManager.java:90)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:256)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:513)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManagers(IndexManagerHolder.java:482)
    at org.hibernate.search.indexes.impl.IndexManagerHolder.buildEntityIndexBinding(IndexManagerHolder.java:91)
    at org.hibernate.search.spi.SearchIntegratorBuilder.initDocumentBuilders(SearchIntegratorBuilder.java:358)
    at org.hibernate.search.spi.SearchIntegratorBuilder.buildNewSearchFactory(SearchIntegratorBuilder.java:199)
    at org.hibernate.search.spi.SearchIntegratorBuilder.buildSearchIntegrator(SearchIntegratorBuilder.java:117)
    at org.hibernate.search.hcore.impl.HibernateSearchSessionFactoryObserver.sessionFactoryCreated(HibernateSearchSessionFactoryObserver.java:75)
    at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:364)
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:490)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:878)
    at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:151)
    at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:199)
    at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:107)
    at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:223)
    at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
    at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230)
    at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:925)
    at org.glassfish.javaee.full.deployment.EarDeployer.prepare

the dependencies on the pom file for ejb modules are the following:

<dependencies>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.2.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-search-orm</artifactId>
        <version>5.5.4.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.0.9.Final</version>
    </dependency>
</dependencies>

if I exclude the artifact lucene-backward-codecs on hibernate-search artifact I get the error:

java.lang.ClassCastException: class org.apache.lucene.codecs.lucene50.Lucene50PostingsFormat

<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-search-orm</artifactId>
   <version>${hibernate.search.version}</version>
   <exclusions>
     <exclusion>  <!-- declare the exclusion here -->
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-backward-codecs</artifactId>
     </exclusion>
   </exclusions> 
</dependency>

The persistence unit configuration is the following:

 <?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="ejercicio4_PU" transaction-type="JTA">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <jta-data-source>jdbc/books</jta-data-source>
    <class>models.Book</class>
    <class>models.Author</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
      <property name="hibernate.search.lucene_version" value="LUCENE_CURRENT"/>
      <property name="hibernate.search.default.directory_provider" value="filesystem"/>
      <property name="hibernate.search.default.indexBase" value="./lucene/indexes"/>
      <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.SunOneJtaPlatform"/>
      <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
    </properties>
  </persistence-unit>
</persistence>

I used the plugin-finder duplicate-maven-plugin to find to find possible diferent versions of lucene

<plugin>
  <groupId>com.ning.maven.plugins</groupId>
  <artifactId>maven-duplicate-finder-plugin</artifactId>
  <version>1.0.8</version>
  <executions>
     <execution>
          <phase>verify</phase>
          <goals>
             <goal>check</goal>
          </goals>
     </execution>
  </executions>
</plugin>

This is an excerpt of the result obtained to build the project:

Checking compile classpath

    Found duplicate and different classes in [javax:javaee-api:7.0,org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final] :
      javax.persistence.Access
      javax.persistence.AccessType
      javax.persistence.AssociationOverride
      javax.persistence.AssociationOverrides
      javax.persistence.AttributeConverter
      javax.persistence.AttributeNode
      javax.persistence.AttributeOverride
      javax.persistence.AttributeOverrides
      javax.persistence.Basic
      javax.persistence.Cache
      javax.persistence.CacheRetrieveMode
      javax.persistence.CacheStoreMode
      javax.persistence.Cacheable
      javax.persistence.CascadeType
      javax.persistence.CollectionTable
      javax.persistence.Column
      javax.persistence.ColumnResult
      javax.persistence.ConstraintMode
      javax.persistence.ConstructorResult
      javax.persistence.Convert
      javax.persistence.Converter
      javax.persistence.Converts
      javax.persistence.DiscriminatorColumn
      javax.persistence.DiscriminatorType
      javax.persistence.DiscriminatorValue
      javax.persistence.ElementCollection
      javax.persistence.Embeddable
      javax.persistence.Embedded
      javax.persistence.EmbeddedId
      javax.persistence.Entity
      javax.persistence.EntityExistsException
      javax.persistence.EntityGraph
      javax.persistence.EntityListeners
      javax.persistence.EntityManager
      javax.persistence.EntityManagerFactory
      javax.persistence.EntityNotFoundException
      javax.persistence.EntityResult
      javax.persistence.EntityTransaction
      javax.persistence.EnumType
      javax.persistence.Enumerated
      javax.persistence.ExcludeDefaultListeners
      javax.persistence.ExcludeSuperclassListeners
      javax.persistence.FetchType
      javax.persistence.FieldResult
      javax.persistence.FlushModeType
      javax.persistence.ForeignKey
      javax.persistence.GeneratedValue
      javax.persistence.GenerationType
      javax.persistence.Id
      javax.persistence.IdClass
      javax.persistence.Index
      javax.persistence.Inheritance
      javax.persistence.InheritanceType
      javax.persistence.JoinColumn
      javax.persistence.JoinColumns
      javax.persistence.JoinTable
      javax.persistence.Lob
      javax.persistence.LockModeType
      javax.persistence.LockTimeoutException
      javax.persistence.ManyToMany
      javax.persistence.ManyToOne
      javax.persistence.MapKey
      javax.persistence.MapKeyClass
      javax.persistence.MapKeyColumn
      javax.persistence.MapKeyEnumerated
      javax.persistence.MapKeyJoinColumn
      javax.persistence.MapKeyJoinColumns
      javax.persistence.MapKeyTemporal
      javax.persistence.MappedSuperclass
      javax.persistence.MapsId
      javax.persistence.NamedAttributeNode
      javax.persistence.NamedEntityGraph
      javax.persistence.NamedEntityGraphs
      javax.persistence.NamedNativeQueries
      javax.persistence.NamedNativeQuery
      javax.persistence.NamedQueries
      javax.persistence.NamedQuery
      javax.persistence.NamedStoredProcedureQueries
      javax.persistence.NamedStoredProcedureQuery
      javax.persistence.NamedSubgraph
      javax.persistence.NoResultException
      javax.persistence.NonUniqueResultException
      javax.persistence.OneToMany
      javax.persistence.OneToOne
      javax.persistence.OptimisticLockException
      javax.persistence.OrderBy
      javax.persistence.OrderColumn
      javax.persistence.Parameter
      javax.persistence.ParameterMode
      javax.persistence.Persistence
      javax.persistence.PersistenceContext
      javax.persistence.PersistenceContextType
      javax.persistence.PersistenceContexts
      javax.persistence.PersistenceException
      javax.persistence.PersistenceProperty
      javax.persistence.PersistenceUnit
      javax.persistence.PersistenceUnitUtil
      javax.persistence.PersistenceUnits
      javax.persistence.PersistenceUtil
      javax.persistence.PessimisticLockException
      javax.persistence.PessimisticLockScope
      javax.persistence.PostLoad
      javax.persistence.PostPersist
      javax.persistence.PostRemove
      javax.persistence.PostUpdate
      javax.persistence.PrePersist
      javax.persistence.PreRemove
      javax.persistence.PreUpdate
      javax.persistence.PrimaryKeyJoinColumn
      javax.persistence.PrimaryKeyJoinColumns
      javax.persistence.Query
      javax.persistence.QueryHint
      javax.persistence.QueryTimeoutException
      javax.persistence.RollbackException
      javax.persistence.SecondaryTable
      javax.persistence.SecondaryTables
      javax.persistence.SequenceGenerator
      javax.persistence.SharedCacheMode
      javax.persistence.SqlResultSetMapping
      javax.persistence.SqlResultSetMappings
      javax.persistence.StoredProcedureParameter
      javax.persistence.StoredProcedureQuery
      javax.persistence.Subgraph
      javax.persistence.SynchronizationType
      javax.persistence.Table
      javax.persistence.TableGenerator
      javax.persistence.Temporal
      javax.persistence.TemporalType
      javax.persistence.TransactionRequiredException
      javax.persistence.Transient
      javax.persistence.Tuple
      javax.persistence.TupleElement
      javax.persistence.TypedQuery
      javax.persistence.UniqueConstraint
      javax.persistence.ValidationMode
      javax.persistence.Version
      javax.persistence.criteria.AbstractQuery
      javax.persistence.criteria.CollectionJoin
      javax.persistence.criteria.CommonAbstractCriteria
      javax.persistence.criteria.CompoundSelection
      javax.persistence.criteria.CriteriaBuilder
      javax.persistence.criteria.CriteriaDelete
      javax.persistence.criteria.CriteriaQuery
      javax.persistence.criteria.CriteriaUpdate
      javax.persistence.criteria.Expression
      javax.persistence.criteria.Fetch
      javax.persistence.criteria.FetchParent
      javax.persistence.criteria.From
      javax.persistence.criteria.Join
      javax.persistence.criteria.JoinType
      javax.persistence.criteria.ListJoin
      javax.persistence.criteria.MapJoin
      javax.persistence.criteria.Order
      javax.persistence.criteria.ParameterExpression
      javax.persistence.criteria.Path
      javax.persistence.criteria.PluralJoin
      javax.persistence.criteria.Predicate
      javax.persistence.criteria.Root
      javax.persistence.criteria.Selection
      javax.persistence.criteria.SetJoin
      javax.persistence.criteria.Subquery
      javax.persistence.metamodel.Attribute
      javax.persistence.metamodel.BasicType
      javax.persistence.metamodel.Bindable
      javax.persistence.metamodel.CollectionAttribute
      javax.persistence.metamodel.EmbeddableType
      javax.persistence.metamodel.EntityType
      javax.persistence.metamodel.IdentifiableType
      javax.persistence.metamodel.ListAttribute
      javax.persistence.metamodel.ManagedType
      javax.persistence.metamodel.MapAttribute
      javax.persistence.metamodel.MappedSuperclassType
      javax.persistence.metamodel.Metamodel
      javax.persistence.metamodel.PluralAttribute
      javax.persistence.metamodel.SetAttribute
      javax.persistence.metamodel.SingularAttribute
      javax.persistence.metamodel.StaticMetamodel
      javax.persistence.metamodel.Type
      javax.persistence.spi.ClassTransformer
      javax.persistence.spi.LoadState
      javax.persistence.spi.PersistenceProvider
      javax.persistence.spi.PersistenceProviderResolver
      javax.persistence.spi.PersistenceProviderResolverHolder
      javax.persistence.spi.PersistenceUnitInfo
      javax.persistence.spi.PersistenceUnitTransactionType
      javax.persistence.spi.ProviderUtil

I am using Glassfish server 4.1 and Netbeans 8.0.2.

I hope someone can help me, thanks.


回答1:


The error you have is the result of attempting to open a Lucene index written by Apache Lucene version 4.0.x.

If you are migrating an application using an older version of Hibernate Search which was using Lucene 4, then I'd suggest to delete the index and rebuild it using the MassIndexer.

If you need to read the old index format for any reason, you can add the following dependency to your application to be able to read it:

<dependency>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-backward-codecs</artifactId>
    <version>5.3.1</version>
</dependency>

Also - unrelated but will cause you trouble - I see you have set hibernate-core and hibernate-entitymanager to two different versions: never do this! Since Hibernate Search is not yet compatible with Hibernate ORM 5.2.x, I'd suggest to set both versions to 5.1.1.Final, which are compatible with Hibernate Search 5.5.4.Final.



来源:https://stackoverflow.com/questions/39259793/classcastexception-lucene40postingsformat-on-hibernate-search

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!