错误如下:
严重: Exception starting filter JFinalFilter
java.lang.NoSuchMethodError: com.jfinal.plugin.druid.DruidPlugin.setTimeBetweenConnectErrorMillis(J)Lcom/jfinal/plugin/druid/DruidPlugin;
at com.weishop.cfg.JFWebConfig.configPlugin(JFWebConfig.java:168)
at com.jfinal.core.Config.configJFinal(Config.java:53)
at com.jfinal.core.JFinal.init(JFinal.java:63)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5633)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
在本地运行不报错,在服务器上报错。
使用jetty运行不报错,使用tomcat报错。
猜测是jar包的依赖或者版本问题,但是已经排除了druid和jfinal的不同版本,求大神解决,谢谢!
1:项目 P 对 A 、B 这个两个 jar 有依赖
2:A、B 分别对 druid 的两个不同版本有依赖,假定 A 对 druid 的高版本有依赖
3:项目 P 启动时 A 所依赖的 druid 被 ClassLoader 先加载
4:B 在使用 druid 时获取到的是新版本的 druid,造成 java.lang.NoSuchMethodError 异常