[英]solr 8.5.1 Could not load driver: com.mysql.jdbc.Driver
我知道这个问题已经被问过了,但无论如何都无法解决这个问题。 On solr 8.5.1, i try to setup mysql to solr and configured everything like that: add theses lines to my solrconfig.xml
<lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler-extras/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />
我的数据配置在这里:/var/solr/data/testcollection/conf 和 Solr 安装在这里:/opt/solr-8.5.1
当我启动导入时,没有任何错误,但只有:请求:0,获取:0,跳过:0,已处理:0(我的 sql 请求很好)。
日志告诉我这个:
Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: com.mysql.jdbc.Driver Processing Document # 1
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:271)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:424)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:483)
at org.apache.solr.handler.dataimport.DataImporter.lambda$runAsync$0(DataImporter.java:466)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException:
org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver:
com.mysql.jdbc.Driver Processing Document # 1
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:417)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:330)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:233)
... 4 more
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: com.mysql.jdbc.Driver Processing Document # 1
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:69)
at org.apache.solr.handler.dataimport.JdbcDataSource.createConnectionFactory(JdbcDataSource.java:159)
at org.apache.solr.handler.dataimport.JdbcDataSource.init(JdbcDataSource.java:80)
at org.apache.solr.handler.dataimport.DataImporter.getDataSourceInstance(DataImporter.java:397)
at org.apache.solr.handler.dataimport.ContextImpl.getDataSource(ContextImpl.java:100)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.init(SqlEntityProcessor.java:53)
at org.apache.solr.handler.dataimport.EntityProcessorWrapper.init(EntityProcessorWrapper.java:77)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:434)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:415)
... 6 more
Caused by: java.lang.ClassNotFoundException: Unable to load com.mysql.jdbc.Driver or org.apache.solr.handler.dataimport.com.mysql.jdbc.Driver
at org.apache.solr.handler.dataimport.DocBuilder.loadClass(DocBuilder.java:935)
at org.apache.solr.handler.dataimport.JdbcDataSource.createConnectionFactory(JdbcDataSource.java:157)
... 13 more
Caused by: org.apache.solr.common.SolrException: Error loading class 'com.mysql.jdbc.Driver'
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:570)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:501)
at org.apache.solr.handler.dataimport.DocBuilder.loadClass(DocBuilder.java:926)
... 14 more
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:817)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:554)
... 16 more
所以基本上我理解了这个问题,但不知道如何解决它,因为我通过更改目录尝试了几种解决方案。 有什么帮助吗? 谢谢
在solr.install.dir
中创建一个文件夹“lib”
下载 jdbc 驱动程序: https://dev.mysql.com/downloads/connector/j/
将 jar 文件放入 lib 文件夹中
将此添加到您的 solrconfig.xml
<lib dir="${solr.install.dir:../../../..}/lib" regex=".*\.jar" />
在文件 solrconfig.xml 中查看此配置
<lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-.*\.jar" />
According to "Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver", you need a jar of mysql-connector at the folder.
确保有这样的 jar 并重新启动您的 solr。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.