正常的项目突然跑不动了

喜欢自在 发布于 2015/11/23 11:09
阅读 378
收藏 0

@JFinal 你好,想跟你请教个问题:

我一正常的项目,今天准备打开改一东西,但突然启动不了,报错如下:

2015-11-23 11:07:38.668:WARN:oejuc.AbstractLifeCycle:FAILED jfinal: java.lang.NoSuchMethodError: com.commin.Config.getPropertyToBoolean(Ljava/lang/String;Z)Ljava/lang/Boolean;
java.lang.NoSuchMethodError: com.commin.Config.getPropertyToBoolean(Ljava/lang/String;Z)Ljava/lang/Boolean;
at com.commin.Config.configConstant(Config.java:39)
at com.jfinal.core.Config.configJFinal(Config.java:46)
at com.jfinal.core.JFinal.init(JFinal.java:67)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
at org.eclipse.jetty.server.Server.doStart(Server.java:277)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at com.jfinal.server.JettyServer.doStart(JettyServer.java:120)
at com.jfinal.server.JettyServer.start(JettyServer.java:64)
at com.jfinal.core.JFinal.main(JFinal.java:181)
2015-11-23 11:07:38.669:WARN:oejuc.AbstractLifeCycle:FAILED o.e.j.w.WebAppContext{/,file:/E:/webapps/zfjd/WebRoot/}: java.lang.NoSuchMethodError: com.commin.Config.getPropertyToBoolean(Ljava/lang/String;Z)Ljava/lang/Boolean;
java.lang.NoSuchMethodError: com.commin.Config.getPropertyToBoolean(Ljava/lang/String;Z)Ljava/lang/Boolean;
at com.commin.Config.configConstant(Config.java:39)
at com.jfinal.core.Config.configJFinal(Config.java:46)
at com.jfinal.core.JFinal.init(JFinal.java:67)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
at org.eclipse.jetty.server.Server.doStart(Server.java:277)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at com.jfinal.server.JettyServer.doStart(JettyServer.java:120)
at com.jfinal.server.JettyServer.start(JettyServer.java:64)
at com.jfinal.core.JFinal.main(JFinal.java:181)
2015-11-23 11:07:38.669:WARN:oejuc.AbstractLifeCycle:FAILED org.eclipse.jetty.server.Server@edb4fa2: java.lang.NoSuchMethodError: com.commin.Config.getPropertyToBoolean(Ljava/lang/String;Z)Ljava/lang/Boolean;
java.lang.NoSuchMethodError: com.commin.Config.getPropertyToBoolean(Ljava/lang/String;Z)Ljava/lang/Boolean;
at com.commin.Config.configConstant(Config.java:39)
at com.jfinal.core.Config.configJFinal(Config.java:46)
at com.jfinal.core.JFinal.init(JFinal.java:67)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
at org.eclipse.jetty.server.Server.doStart(Server.java:277)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at com.jfinal.server.JettyServer.doStart(JettyServer.java:120)
at com.jfinal.server.JettyServer.start(JettyServer.java:64)
at com.jfinal.core.JFinal.main(JFinal.java:181)
Exception in thread "main" java.lang.NoSuchMethodError: com.commin.Config.getPropertyToBoolean(Ljava/lang/String;Z)Ljava/lang/Boolean;
at com.commin.Config.configConstant(Config.java:39)
at com.jfinal.core.Config.configJFinal(Config.java:46)
at com.jfinal.core.JFinal.init(JFinal.java:67)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
at org.eclipse.jetty.server.Server.doStart(Server.java:277)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at com.jfinal.server.JettyServer.doStart(JettyServer.java:120)
at com.jfinal.server.JettyServer.start(JettyServer.java:64)
at com.jfinal.core.JFinal.main(JFinal.java:181)

加载中
0
喜欢自在
喜欢自在
解决了,不知道怎么回事,自己少了一个包
1
JFinal
JFinal

     jfinal 1.8 之后的版本 JFinalConfig.getPropertyToBoolean 方法的第二个参数由 boolean 改为了包装类型 Boolean,在升级 jfinal 后需要重新编译一下项目。

    因为项目依赖于 jar 编译而成的 class 文件,里面有关方法签名、参数类型等信息编译后是固定的,而 primitive 类型与包装类型会被认为是不同的方法签名,从而报出NoSuchMethodError,这是由 jdk 决定的。

    最后,static final 常量会被编译成内联值,当项目所依赖的第三方 static final 常量值发生变化时,如果不重新编译项目源码会引起 bug。所以总的来说建议在升级第三方 jar 包时重新编译一下项目,尤其是升级重度使用的 jar 包时。

0
东向利
东向利

就是,有时候文件明明在,就说找不到类。

1、重启服务就OK;

2、删除classes中的所有类文件,然后重新部署就可以。

返回顶部
顶部