當(dāng)我將其添加到 pom.xml 時(shí): <!-- https://mvnrepository.com/artifact/us.fatehi/schemacrawler-mariadb --> <dependency> <groupId>us.fatehi</groupId> <artifactId>schemacrawler-mariadb</artifactId> <version>14.08.06</version> </dependency>然后我得到一個(gè)錯(cuò)誤: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 數(shù)據(jù)庫(kù)。如果我從 pom 中省略 MariaDb,這會(huì)起作用。我正在使用更高版本的 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。連接數(shù)據(jù)庫(kù)后出現(xiàn)錯(cuò)誤,在以下代碼的最后一行: 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貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
您使用的主要 SchemaCrawler 庫(kù)和 SchemaCrawler 數(shù)據(jù)庫(kù)插件的版本不兼容。如果您連接到 Oracle,則不需要 MariaDB 插件。事實(shí)上,即使在類路徑上沒(méi)有 SchemaCrawler 數(shù)據(jù)庫(kù)插件,SchemaCrawler 也可以與大多數(shù)數(shù)據(jù)庫(kù)一起使用。
添加回答
舉報(bào)
0/150
提交
取消