lucene - Hibernate Search 4.1.1 NoSuchMethodError FSDirectory.open -


i trying use hibernate-search 4.1.1-final + lucene 3.5 hibernate 4.1.3 , spring 3.1.1 frameworks (dependency using maven) enable pojo-based text search. followed hibernate-search documentation. based on doc, here hibernate configuration:

    <bean id="sessionfactory"     class="org.springframework.orm.hibernate4.localsessionfactorybean">             <property name="datasource" ref="datasource" />     <property name="mappingresources">         <list>             <value>com/mytutorial/user.hbm.xml</value>                      </list>     </property>     <property name="hibernateproperties">         <props>             <!-- other hibernate-specific properties -->             <prop key="hibernate.search.default.directory_provider">filesystem</prop>             <prop key="hibernate.search.default.indexbase">c:/temp/</prop>             <prop key="hibernate.search.lucene_version">lucene_35</prop>          </props>     </property> </bean> 

i turned on log (debug) hibernate-search, shows:

[info,version,pool-2-thread-1] hsearch000034: hibernate search 4.1.1.final [debug,configcontext,pool-2-thread-1] setting lucene compatibility version lucene_35 [debug,configcontext,pool-2-thread-1] using default similarity implementation: org.apache.lucene.search.defaultsimilarity [warn,directoryproviderhelper,pool-2-thread-1] hsearch000041: index directory not found, creating: 'c:\temp\com.mytutorial.user' 

at startup. , after that, following exception when run tomcat server on windows 7 64-bit machine.

caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'sessionfactory' defined in servletcontext resource [/web-inf/config/spring/application-context.xml]: invocation of init method failed; nested exception java.lang.nosuchmethoderror: org.apache.lucene.store.fsdirectory.open(ljava/io/file;lorg/apache/lucene/store/lockfactory;)lorg/apache/lucene/store/fsdirectory;     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1455)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:519)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:456)     @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:294)     @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:225)     @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:291)     @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:193)     @ org.springframework.beans.factory.support.beandefinitionvalueresolver.resolvereference(beandefinitionvalueresolver.java:322)     ... 45 more caused by: java.lang.nosuchmethoderror: org.apache.lucene.store.fsdirectory.open(ljava/io/file;lorg/apache/lucene/store/lockfactory;)lorg/apache/lucene/store/fsdirectory;     @ org.hibernate.search.store.impl.directoryproviderhelper$fsdirectorytype.getdirectory(directoryproviderhelper.java:365)     @ org.hibernate.search.store.impl.directoryproviderhelper.createfsindex(directoryproviderhelper.java:137)     @ org.hibernate.search.store.impl.fsdirectoryprovider.initialize(fsdirectoryprovider.java:70)     @ org.hibernate.search.store.impl.directoryproviderfactory.createdirectoryprovider(directoryproviderfactory.java:84)     @ org.hibernate.search.indexes.impl.directorybasedindexmanager.createdirectoryprovider(directorybasedindexmanager.java:216)     @ org.hibernate.search.indexes.impl.directorybasedindexmanager.initialize(directorybasedindexmanager.java:89)     @ org.hibernate.search.indexes.impl.indexmanagerholder.createdirectorymanager(indexmanagerholder.java:241)     @ org.hibernate.search.indexes.impl.indexmanagerholder.buildentityindexbinding(indexmanagerholder.java:111)     @ org.hibernate.search.spi.searchfactorybuilder.initdocumentbuilders(searchfactorybuilder.java:411)     @ org.hibernate.search.spi.searchfactorybuilder.buildnewsearchfactory(searchfactorybuilder.java:221)     @ org.hibernate.search.spi.searchfactorybuilder.buildsearchfactory(searchfactorybuilder.java:145)     @ org.hibernate.search.event.impl.fulltextindexeventlistener.initialize(fulltextindexeventlistener.java:129)     @ org.hibernate.search.hcore.impl.hibernatesearchintegrator.integrate(hibernatesearchintegrator.java:82)     @ org.hibernate.internal.sessionfactoryimpl.<init>(sessionfactoryimpl.java:306)     @ org.hibernate.cfg.configuration.buildsessionfactory(configuration.java:1744)     @ org.hibernate.cfg.configuration.buildsessionfactory(configuration.java:1782)     @ org.springframework.orm.hibernate4.localsessionfactorybuilder.buildsessionfactory(localsessionfactorybuilder.java:189)     @ org.springframework.orm.hibernate4.localsessionfactorybean.buildsessionfactory(localsessionfactorybean.java:350)     @ org.springframework.orm.hibernate4.localsessionfactorybean.afterpropertiesset(localsessionfactorybean.java:335)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1514)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1452)     ... 52 more 

i still exception, if remove "hibernate.search.lucene_version" property configuration.

the nosuchmethoderror means have wrong version of lucene in classpath.

you might want check duplicates, , use command line tool such tattletale find class , library duplicates.


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -