Solr无法找到JDBC驱动程序。

7

我已经多年没有使用Java了,所以我希望尽可能简单地完成这项任务。我正在运行Ubuntu 10.04。到目前为止,我只做了以下操作:

apt-get install solr-jetty libmysql-java

我已经设置好了所有配置文件,从我的MySQL数据库中提取文档。然而,当我尝试进行完整导入时,日志中出现了以下内容:

SEVERE: Full Import failed
org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: com.mysql.jdbc.Driver Processing Document # 1

我现在有些困惑了,因为如果使用apt安装libmysql-java没有得到JDBC驱动程序,那我就不知道该怎么办了。

3个回答

7
这些错误意味着你的mysql驱动程序在java类路径中找不到,你只需要将其添加到其中即可。
对于Jetty而言,你应该将数据库驱动程序放在$JETTY_HOME/lib/ext目录中。只需在那里放置符号链接或复制jar文件即可。
如果你不知道MySql JDBC jar文件在哪里,可以使用以下命令进行检查:
dpkg-query -L libmysql-java

您可以从MySQL下载页直接下载这些驱动程序。
PS. 我从未使用过Jetty,我在这里找到了这些信息:http://content.liferay.com/4.2/doc/installation/liferay_4_installation_guide/multipage/ch03.html#d0e893,第9点,Jetty 5.1安装。

太好了!非常感谢你! - Phil Kulak
可以运行。为什么我不能将它放在“lib”文件夹中,而是必须使用“lib/ext”文件夹?当我包含一个jar文件时,我是否应该使用“ext”文件夹? - Timo

4
把文件mysql-connector-java-5.1.22-bin.jar(或其符号链接)放到此目录中:/var/lib/tomcat6/webapps/solr/WEB-INF/lib/。虽然这是针对tomcat的情况,但你可以采取类似的方法。

4

我最终只是通过在 /usr/share/java 中创建符号链接来使用 .jar 文件;也许有更好的方法。

ln -s /usr/share/java/mysql-connector-java.jar \
/usr/share/solr/WEB-INF/lib/mysql-connector-java.jar
sudo ln -s /usr/share/java/mysql.jar /usr/share/solr/WEB-INF/lib/mysql.jar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接