Java MyBatis正在寻找org/hsqldb/DatabaseURL,而我正在寻找MmySQL

Java MyBatis正在寻找org/hsqldb/DatabaseURL,而我正在寻找MmySQL,java,mysql,guice,hsqldb,mybatis,Java,Mysql,Guice,Hsqldb,Mybatis,我使用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.DriverMan

我使用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.unpololed.unpololedDataSource.doGetConnection(unpoleDataSource.java:191) 位于org.apache.ibatis.datasource.unpololed.unpololedDataSource.doGetConnection(unpoleDataSource.java:186) 位于org.apache.ibatis.datasource.unpolooled.unpolooldatasource.getConnection(unpolooldatasource.java:88) 位于org.apache.ibatis.datasource.poolled.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
的库在您的
类路径上

org/hsqldb/DatabaseURL在您的类路径上吗?不,但为什么?我使用的是mysql而不是hsqldb!为什么?我使用的是mysql而不是hsqldb,它对所有驱动程序都是强制性的?!我不熟悉MyBatis。如果所有这些都是自包含的,那么org.hsqldb.DatabaseURL可能会在给定一些jdbc url的情况下加载一个适当的驱动程序(这是一个猜测)。最终,基础架构将寻找org.hsqldb.DatabaseURL,因此它需要位于类路径上。如果您确定org.hsqldb.DatabaseURL不是必需的,可能您有一些配置问题。我检查了我的配置,似乎还可以,我还遵循了guice配置页面,maven中只有一个MyBatis的依赖项