gpt4 book ai didi

java - 调试solr 4.6源码。获取 ClassNotFoundException : java. lang.ClassNotFoundException : solr. WhitespaceTokenizerFactory

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:10 29 4
gpt4 key购买 nike

我正在尝试使用eclipse和tomcat调试solr4.6源代码。我收到错误消息:HTTP 状态 500 - {msg=SolrCore 'collection1' 由于初始化失败而不可用:[schema.xml] fieldType“text_ws”的插件初始化失败:[schema.xml] 分析器/标记器的插件初始化失败

我尝试调试它,发现 SolrResourceLoader 将类名构建为名称 = 基数 + '.' + 子包 + newName;对于 solr.WhitespaceTokenizerFactory ,base 是 org.apache.solr ,子包名称是 '' ,newName 是 WhitespaceTokenizerFactory 。

因此 fn Class.forName(name,true,classLoader) 的 name 值为 org.apache.solr.WhitespaceTokenizerFactory

但是solr源码中WhitespaceTokenizerFactory的包是:org.apache.lucene.analysis.core;

堆栈跟踪:

5200 T22 oasc.SolrException.log ERROR null:org.apache.solr.common.SolrException: SolrCore 'collection1' is not available due to init failure: Plugin init failure for [schema.xml] fieldType "text_ws": Plugin init failure for [schema.xml] analyzer/tokenizer: Error loading class 'solr.WhitespaceTokenizerFactory'. Schema file is /usr/share/solr2/example/solr/collection1/schema.xml
at org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:823)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:301)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:201)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] fieldType "text_ws": Plugin init failure for [schema.xml] analyzer/tokenizer: Error loading class 'solr.WhitespaceTokenizerFactory'. Schema file is /usr/share/solr2/example/solr/collection1/schema.xml
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:608)
at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:166)
at org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)
at org.apache.solr.schema.IndexSchemaFactory.buildIndexSchema(IndexSchemaFactory.java:69)
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:559)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:597)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:251)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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)
... 1 more
Caused by: org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] fieldType "text_ws": Plugin init failure for [schema.xml] analyzer/tokenizer: Error loading class 'solr.WhitespaceTokenizerFactory'
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:177)
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:468)
... 13 more
Caused by: org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] analyzer/tokenizer: Error loading class 'solr.WhitespaceTokenizerFactory'
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:177)
at org.apache.solr.schema.FieldTypePluginLoader.readAnalyzer(FieldTypePluginLoader.java:362)
at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:95)
at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:1)
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
... 14 more
Caused by: org.apache.solr.common.SolrException: Error loading class 'solr.WhitespaceTokenizerFactory'
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:470)
at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:573)
at org.apache.solr.schema.FieldTypePluginLoader$2.create(FieldTypePluginLoader.java:342)
at org.apache.solr.schema.FieldTypePluginLoader$2.create(FieldTypePluginLoader.java:1)
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
... 18 more
Caused by: java.lang.ClassNotFoundException: solr.WhitespaceTokenizerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:454)
... 22 more

最佳答案

使用 eclipse 和 tomcat 设置 solr 源代码后遇到类似的问题。我已将 Eclipse 编译输出目录指定为 webcontent/WEB-INF/classes。要允许 tomcat 使用相同的 webcontent 目录而不是 tomcat 发布到 wtp 文件夹,请在 tomcat 的“服务器选项”中启用“提供模块而不发布”。这将帮助类加载器在正确的位置找到 solr“服务”。目前,用于您的案例的类加载器无法找到相同的类加载器。

关于java - 调试solr 4.6源码。获取 ClassNotFoundException : java. lang.ClassNotFoundException : solr. WhitespaceTokenizerFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24403747/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com