JFinal DruidPlugin 出现NoClassDefFoundError DruidDataSource

在Eclipse中使用JFinal,在使得 DruidPlugin 出现java.lang.NoClassDefFoundError: com/alibaba/druid/pool/DruidDataSource,但我查过Maven已经导入了druid-1.0.5.jar包,请问是什么原因呢

评论区

JFinal

2017-11-01 15:36

NoClassDefFoundError 与 ClassNotFound 并不相同,应该是有多个版本的 druid 同时存在,造成了混乱

多个版本的 druid 同时存在,并不一定可以简单看到,因为 maven 依赖是有传递性的,在 eclipse 中查看 pom.xml 的 Dependency Hierarchy 视图,里面可以显示于传递性依赖关系

pandalam

2017-11-01 15:43

@JFinal 我已经查看过maven中的pom.xml,我没有导入类似的包,以下是pom.xml的内容:
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.pda
study
war
0.0.1-SNAPSHOT
study Maven Webapp
http://maven.apache.org


junit
junit
3.8.1
test


com.jfinal
jetty-server
8.1.8


com.jfinal
jfinal
3.2


log4j
log4j
1.2.16


com.alibaba
druid
1.0.5


mysql
mysql-connector-java
5.1.20


com.jfinal
cos
26Dec2008



study

JFinal

2017-11-01 15:48

可能是你本地 maven 库中的数据有问题, 换成高版本 druid:
druid-1.0.29

pandalam

2017-11-01 16:02

@JFinal 我从原来的druid-1.0.5 换成了低版本 druid-1.0.29,可以用了,非常感谢。
是否JFinal 3.2还不支持druid-1.0.5的高版本呢?

JFinal

2017-11-01 16:07

@pandalam druid-1.0.29 比 druid-1.0.5 这版本要高得多了, 1.0.5 是低版本

pandalam

2017-11-01 16:07

补充,再次确认,用druid-1.0.5也没问题的,应该是Maven的数据库有问题,删除再导入1.0.5版本又没问题了,现在稳稳的在1.0.5的版本中使用。

JFinal

2017-11-01 16:07

@pandalam 此外注意, jfinal 是从低版本 druid 一直升到高版本的 druid 的, 所以 1.0.5 早就支持了

商洛

2018-03-15 11:05

要怎么换啊

黄悦泽

2019-06-05 19:56

MarlonBrando

2019-08-28 18:50

java.lang.NoClassDefFoundError: com/alibaba/druid/pool/DruidDataSource 换成高版本也不行,删除了别的版本重新导入也不行

山山

2020-06-17 18:22

添加如下依赖即可解决


com.alibaba.druid
druid-wrapper
0.2.9

热门反馈

扫码入社