Dropwizard和hibernate项目具有类加载器错误的启动问题

时间:2018-02-25 09:49:00

标签: hibernate rest h2 dropwizard connection-pool

我尝试使用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包。 好吧,任何强迫这件事的方法都告诉我哪个班级找不到它?!

附录:

我的Config.yml


logging:
  level: INFO
  loggers:
    com.srini.testdw: DEBUG
database:
  driverClass: org.h2.Driver
  user: "sa"
  password: ""
  url: jdbc:h2:./testdb
  properties:
    charSet: UTF-8
    maxWaitForConnection: 1s
    validationQuery: "/* MyService Health Check */ SELECT 1"
    minSize: 8
    maxSize: 32
    checkConnectionWhileIdle: false
    evictionInterval: 10s
    minIdleTime: 1 minute
    hibernate.dialect: org.hibernate.dialect.H2Dialect
    hibernate.show_sql: true
    hibernate.generate_statistics: false
    hibernate.hbm2ddl.auto: validate

server:
  minThreads: 2
  maxQueuedRequests: 3
  type: simple

0 个答案:

没有答案