当我将MySQL中的数据转换成RDF时,使用generate-mapping -u root -p 123456 -o kg_demo_movie_mapping.ttl "jdbc:mysql:///kg_demo_movie?useSSL=false&serverTimezone=UTC" 报错。Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is
com .mysql.cj.jdbc.Driver'。驱动是通过SPI自动注册的,一般不需要手动加载驱动类。数据库异常(E0)。我的 MySQL 版本是 8.0.11。根据网上的说法,我把5.1.47的jar包放到d2rq/lib下还是报同样的错误,不知道现在能做什么,谢谢大家帮忙。
问问题
39 次
1 回答
0
这个消息有点令人费解。部分原因似乎是您正在使用的应用程序正在显式加载 JDBC 驱动程序......这是不推荐使用的1。但它也说你(它)应该使用 MySQL Connector/J 8.x JDBC 驱动程序而不是库目录5.1.47
中的 JAR 。d2rq
(您可以从下载站点获取 MySQL Connector/J 8.x 驱动程序。)
基本上,看起来您正在使用过时/废弃的软件。dr2q的github 站点显示自 2015 年以来 master 分支上没有任何变化。并且 repo 现在是只读的。
如果你有足够的 Java 编程技能并且愿意付出努力,你可以:
- 分叉回购
- 调查问题的真正原因2
- 更新代码库以修复明显的
Class::forName
问题和/或升级 JDBC 驱动程序。
但是,如果您没有技能,等等……您最好的选择是寻找另一种工具。(您也许可以在其他论坛上找到解决此问题的 hacky 解决方法......只是被下一个论坛难住了。)
1 - 它应该使用DriverManager
... ,它将自动发现 JDBC 驱动程序。Class::forName
从 Java 5.0 开始就不需要使用加载驱动程序了。
2 - 不要指望别人免费为你做这项工作。
于 2021-08-22T06:59:48.477 回答