java+jdk1.8运行项目出错java.lang.ClassNotFoundException: jxl.biff.DisplayFormat

sqbjjb 发布于 2018/01/04 16:48
阅读 1K+
收藏 0

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

编译没问题但是运行时候出错

加载中
0
r
riseee

很明显,缺少jxl jar包,下载jxl.jar然后引用即可。

sqbjjb
sqbjjb
java.lang.NoClassDefFoundError: jxl/biff/DisplayFormat
sqbjjb
sqbjjb
缺少jar包编译的时候会报错,显然不是
0
Shazi199
Shazi199

缺包,放进去就好了

0
sqbjjb
sqbjjb

补充说明:不是缺包导致的,缺包的话编译就会报错,

 Servlet.service() for servlet [jsp] in context with path [/MQ-CMS] threw exception [javax.servlet.ServletException: java.lang.NoClassDefFoundError: jxl/biff/DisplayFormat] with root cause
java.lang.ClassNotFoundException: jxl.biff.DisplayFormat
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    at com.sinosoft.lis.agentquery.NewWageQueryKeepUI.submitData(NewWageQueryKeepUI.java:55)
    at org.apache.jsp.ui.agentquery.NewWageQueryKeepSave_jsp._jspService(NewWageQueryKeepSave_jsp.java:223)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

0
d
dai-wen

JAR包版本不对

0
godfather1103
godfather1103

这个好像是jar包有冲突,两个jar包中具有同名的类导致jvm在运行的时候不知道加载哪一个jar中的class,在IDEA中可以ctrl+N打开弹窗输入DisplayFormat来查一下是不是有冲突的class,希望对你能有帮助

0
渠富林
渠富林

Class.forName("className")这种方式引入的类在编译时是没有错误提示的

另外编译的时候只检查你的代码里引用的类是否存在,不会检查你依赖的jar里的类的依赖类是否存在,如你引用的a.jar里的类A,但是类A引用了b.jar里的类B,这种情况在编译的时候是不报错的,运行时才会报错。

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部