首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可搜索的grails插件ClassNotFoundException: ClassNotFoundException

可搜索的grails插件ClassNotFoundException: ClassNotFoundException
EN

Stack Overflow用户
提问于 2014-12-01 09:37:12
回答 1查看 2K关注 0票数 0

我使用的是带有grails2.4.4的可搜索的0.6.9插件,在我的开发机器上(Windows/IntelliJ ),一切都很好。但是,将它部署在linux上的Tomcat上会导致以下错误:

代码语言:javascript
复制
    ...

    2014-12-01 10:20:46,066 [localhost-startStop-1] ERROR StackTrace  - Full Stack Trace:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grails.plugin.searchable.SearchableController': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'searchableService': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'compass': FactoryBean threw exception on object creation; nested exception is java.lang.NoClassDefFoundError: org/apache/lucene/analysis/Analyzer$TokenStreamComponents
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'searchableService': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'compass': FactoryBean threw exception on object creation; nested exception is java.lang.NoClassDefFoundError: org/apache/lucene/analysis/Analyzer$TokenStreamComponents
    ... 5 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'compass': FactoryBean threw exception on object creation; nested exception is java.lang.NoClassDefFoundError: org/apache/lucene/analysis/Analyzer$TokenStreamComponents
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/analysis/Analyzer$TokenStreamComponents
    at org.compass.core.lucene.engine.analyzer.CoreAnalyzerBuilderDelegate.buildAnalyzer(CoreAnalyzerBuilderDelegate.java:47)
    at org.compass.core.lucene.engine.analyzer.DefaultLuceneAnalyzerFactory.createAnalyzer(DefaultLuceneAnalyzerFactory.java:81)
    at org.compass.core.lucene.engine.analyzer.LuceneAnalyzerManager.buildAnalyzer(LuceneAnalyzerManager.java:225)
    at org.compass.core.lucene.engine.analyzer.LuceneAnalyzerManager.buildAnalyzers(LuceneAnalyzerManager.java:133)
    at org.compass.core.lucene.engine.analyzer.LuceneAnalyzerManager.<init>(LuceneAnalyzerManager.java:67)
    at org.compass.core.lucene.engine.LuceneSearchEngineFactory.<init>(LuceneSearchEngineFactory.java:119)
    at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:124)
    at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:117)
    at org.compass.core.config.CompassConfiguration.buildCompass(CompassConfiguration.java:288)
    at grails.plugin.searchable.internal.compass.spring.SearchableCompassFactoryBean.buildCompass(SearchableCompassFactoryBean.java:95)
    at grails.plugin.searchable.internal.compass.spring.SearchableCompassFactoryBean.getObject(SearchableCompassFactoryBean.java:58)
    at grails.plugin.searchable.internal.compass.spring.SearchableCompassFactoryBean.getObject(SearchableCompassFactoryBean.java:41)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.analysis.Analyzer$TokenStreamComponents
    ... 17 more

org.apache.lucene.analysis.Analyzer类似乎不包含Lucene2.4.1中的TokenStreamComponents (它是可搜索的0.6.9的依赖项)。但正如我所写的,它在我的开发机器上运行得很好。

PS:在Linux上,war文件是由hudson构建的。

更新:

在我的开发机器上,它也不会像war一样运行,但是运行应用程序会运行。我不知道为什么它试图使用在作为war文件运行时不存在的方法。

谢谢你提前帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-03 14:40:46

解决:

不幸的是,解决方案很简单:我也安装了Jasper插件,它将lucene 4.5.1加载为依赖项。通过将它排除在

代码语言:javascript
复制
compile (":jasper:1.10.0") {
            excludes 'org.apache.lucene:lucene-core:4.5.1'
            excludes 'org.apache.lucene:lucene-analyzers-common:4.5.1'
            excludes 'org.apache.lucene:lucene-queryparser:4.5.1'
        }

一切都如期而至。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27225425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档