0

我尝试使用 SQLite 和 h2 数据库,在类路径中使用 sqlite-jdbc-3.20.1.jar /h2-1.4.195.jar。

我的 pom.xml 中有 h2 驱动程序 jar,在运行时似乎没有什么不同。

<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
   <version>1.4.195</version>
</dependency>

我将 jar 复制到目标目录,希望“java -cp target/*”可以让这些 jar 直接进入类路径。一切都无济于事。我收到这个让我发疯的错误,它不会告诉我它没有找到什么类

    Causing: java.sql.SQLException: Unable to load class:  

来自 ClassLoader:sun.misc.Launcher$AppClassLoader@18b4aac2;ClassLoader:sun.misc.Launcher$AppClassLoader@18b4aac2

` ... 24 更多
... org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator:HHH000342:无法获得查询元数据的连接

Caused by: java.lang.ClassNotFoundException:   
            at java.lang.Class.forName0(Native Method)  
            at java.lang.Class.forName(Class.java:348)  
        at > >org.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:38)

我已经打印了 maven 树并使用了 verbose:class 选项并确实找到了加载的驱动程序类。我的 Maven 依赖项中有 dropwizard-hibernate 包。好的,有什么方法可以强迫这个东西告诉我它找不到哪个类?!

附录:

我的配置.yml

记录:
  级别:信息
  记录器:
    com.srini.testdw:调试
数据库:
  driverClass:org.h2.Driver
  用户:“sa”
  密码: ””
  网址:jdbc:h2:./testdb
  特性:
    字符集:UTF-8
    maxWaitForConnection: 1s
    validationQuery: "/* MyService 健康检查 */ SELECT 1"
    最小尺寸:8
    最大尺寸:32
    checkConnectionWhileIdle:假
    evictionInterval: 10s
    minIdleTime:1分钟
    hibernate.dialect:org.hibernate.dialect.H2Dialect
    hibernate.show_sql:真
    hibernate.generate_statistics: false
    hibernate.hbm2ddl.auto:验证

服务器:
  minThreads: 2
  maxQueuedRequests:3
  类型:简单
4

0 回答 0