我尝试使用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