MyBatis 在我设置 MmySQL 时正在寻找 org/hsqldb/DatabaseURL

Posted

技术标签:

【中文标题】MyBatis 在我设置 MmySQL 时正在寻找 org/hsqldb/DatabaseURL【英文标题】:MyBatis is looking for org/hsqldb/DatabaseURL while I set for MmySQL 【发布时间】:2013-10-07 20:15:10 【问题描述】:

我用 Maven3/Guice/MyBatis3.1 编写了一个示例项目,并使用“jdbc:mysql://...”

但是当我想调用映射器方法(mapper.getBean())时,我得到了:

java.lang.NoClassDefFoundError: org/hsqldb/DatabaseURL 在 org.hsqldb.jdbc.JDBCDriver.getConnection(未知来源) 在 org.hsqldb.jdbc.JDBCDriver.connect(未知来源) 在 java.sql.DriverManager.getConnection(DriverManager.java:579) 在 java.sql.DriverManager.getConnection(DriverManager.java:190) 在 org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:191) 在 org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:186) 在 org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:88) 在 org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:373) 在 org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:82) 在 org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:131) 在 org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:58)

【问题讨论】:

你的类路径上有 org/hsqldb/DatabaseURL 吗? 不,但是为什么呢?我使用的是 mysql 而不是 hsqldb! 【参考方案1】:

确保包含org.hsqldb.DatabaseURL 的库位于您的classpath

【讨论】:

为什么?我使用的是 mysql 而不是 hsqldb,所有驱动程序都必须使用它?! 我对 MyBatis 不熟悉。如果所有内容都是自包含的,那么 org.hsqldb.DatabaseURL 可能会在给定一些 jdbc url 的情况下加载适当的驱动程序(这是一个疯狂的猜测)。最终,基础设施正在寻找 org.hsqldb.DatabaseURL,因此它需要位于您的类路径中。如果您确定 org.hsqldb.DatabaseURL 不是必需的,则可能是您的配置有问题。 我检查了我的配置,似乎没问题, 我也关注了 guice 配置页面,在 maven 中只有 MyBatis 的依赖而已

以上是关于MyBatis 在我设置 MmySQL 时正在寻找 org/hsqldb/DatabaseURL的主要内容,如果未能解决你的问题,请参考以下文章

在我尝试设置配置文件管理时如何正确使用提供程序?

iOS 蓝牙设备列表

核心数据多对多关系的正确删除规则?

myBatis无限滚动的偏移位置设置问题

如何使用自动工具设置包含路径

寻找 iOS VoiceOver 辅助功能指南:当我点击文本时,它应该说多少?