为了账号安全,请及时绑定邮箱和手机立即绑定

添加 MariaDB 工件时出现 SchemaCrawler 错误

添加 MariaDB 工件时出现 SchemaCrawler 错误

跃然一笑 2021-06-06 13:38:29
当我将其添加到 pom.xml 时:    <!-- https://mvnrepository.com/artifact/us.fatehi/schemacrawler-mariadb -->    <dependency>        <groupId>us.fatehi</groupId>        <artifactId>schemacrawler-mariadb</artifactId>        <version>14.08.06</version>    </dependency>然后我得到一个错误:java.util.ServiceConfigurationError: schemacrawler.tools.databaseconnector.DatabaseConnector: Provider schemacrawler.server.mariadb.MariaDBDatabaseConnector could not be instantiated..Caused by: java.lang.NoSuchMethodError: schemacrawler.tools.databaseconnector.DatabaseConnector.<init>(Lschemacrawler/tools/databaseconnector/DatabaseServerType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V我正在尝试连接到 Oracle 数据库。如果我从 pom 中省略 MariaDb,这会起作用。我正在使用更高版本的 SchemaCrawler:    <dependency>        <groupId>us.fatehi</groupId>        <artifactId>schemacrawler</artifactId>        <version>14.21.02</version>    </dependency>    <!-- https://mvnrepository.com/artifact/us.fatehi/schemacrawler-oracle -->    <dependency>        <groupId>us.fatehi</groupId>        <artifactId>schemacrawler-oracle</artifactId>        <version>14.21.02</version>    </dependency>我希望在 pom.xml 中有 MariaDB,并且仍然能够使用 SchemaCrawler 读取 Oracle。连接数据库后出现错误,在以下代码的最后一行:        Connection dbConnection = DatabaseBroker.getDbConnection(                eventName,                 cbDatabase.getValue(),                 tConnectionString.getValue(),                 tUsername.getValue(),                 tPassword.getValue()        );        //Schema schema = SchemaCrawler.getSchema(dbConnection, SchemaInfoLevel.detailed(), new SchemaCrawlerOptions());        //SchemaCrawler sc = new SchemaCrawler(dbConnection, null);        try        {            Catalog catalog = SchemaCrawlerUtility.getCatalog(dbConnection, null);
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

您使用的主要 SchemaCrawler 库和 SchemaCrawler 数据库插件的版本不兼容。如果您连接到 Oracle,则不需要 MariaDB 插件。事实上,即使在类路径上没有 SchemaCrawler 数据库插件,SchemaCrawler 也可以与大多数数据库一起使用。


查看完整回答
反对 回复 2021-06-10
  • 1 回答
  • 0 关注
  • 215 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信