我已经从http://search.maven.org/#search%7Cga%7C1%7Chikaricp(第五行)下载了HikariCP JAR并将其放置在我的构建路径中。如果你打电话
HikariDataSource ds = new HikariDataSource();
你得到例外:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at com.zaxxer.hikari.HikariConfig.<clinit>(HikariConfig.java:45)
at com.josevemon.microserver.App.<init>(App.java:41)
at com.josevemon.microserver.App.main(App.java:16)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
根据此处的评论:https://stackoverflow.com/a/25114022/555690,
我不知道您在IDE或其他什么环境中开发的环境, 但这是一个简单的类路径问题,HikariCP jar不在其中 运行时的类路径。显然它在编译时就在路径上 或者你不会有这么远。
所以HikariCP在编译时就在我的路径中,但不在运行时。那么,我如何在运行时拥有它?我正在使用Eclipse Luna。
答案 0 :(得分:0)
您需要在类路径中包含以下slf4j jar:
我使用maven,所以通过将slf4j-jdk14-1.7.10.jar添加到我的pom文件中,它会自动添加slf4j-api-1.7.22.jar。在您的情况下,您可以从这里下载jar文件:
http://central.maven.org/maven2/org/slf4j/slf4j-jdk14/1.7.10/ http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.22/