Solr 7.2.1无法加载驱动程序

时间:2018-04-23 17:02:49

标签: java jdbc solr

我正在尝试让Solr连接到数据库。

  • Mac OS 10.13.3
  • Java版“9.0.4”
  • Solr 7.2.1

这是错误:

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

我的data-config.xml:

<dataConfig>
        <dataSource
                name="mysqltest"
                type="JdbcDataSource"
                driver="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/product"
                user="solr"
                password="xxx"/>
        <document>
                <entity name="id"  dataSource="mysqltest" query="select *  from products">
                        <field column="id" name="id"/>
                        <field column="name" name="name"/>
                </entity>
        </document>
</dataConfig>

solrconfig.xml中

<?xml version="1.0" encoding="UTF-8" ?>
<config>
 <luceneMatchVersion>7.2.1</luceneMatchVersion>
 <lib dir="./lib" />
  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}contrib/dataimporthandler/lib/" regex="mysql-connector-java-8.0.11\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
    <str name="config">data-config.xml</str>
    </lst>
</requestHandler>

我做了几行变化:

<lib dir="${solr.install.dir:../../../..}contrib/dataimporthandler/lib/" regex="mysql-connector-java-8.0.11\.jar" />

我尝试使用 regex =“。 .jar”*进行absolut路径,正则表达式,但没有连接器名称中的反斜杠。

mysql-connector-java-8.0.11.jar位于正确的位置。

任何建议都非常感谢。

2 个答案:

答案 0 :(得分:0)

还可以发布日志输出吗?在lib目录中的contrib之前似乎缺少一个斜杠,应该像这样:

<lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib/" regex="mysql-connector-java-8.0.11\.jar" />

答案 1 :(得分:-1)

打开启动日志记录显示真正的问题,配置是正确的。