当前位置: 代码迷 >> Java Web开发 >> org.apache.catalina.LifecycleException Caused by: java.lang.NoClassDefFoundErro,该如何解决
  详细解决方案

org.apache.catalina.LifecycleException Caused by: java.lang.NoClassDefFoundErro,该如何解决

热度:3004   发布时间:2016-04-11 00:04:36.0
org.apache.catalina.LifecycleException Caused by: java.lang.NoClassDefFoundErro
eclipse 下 tomcat7 跑工程,如下错误
严重: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/cn-web-branch]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:657)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1637)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: org/krysalis/barcode4j/output/CanvasProvider
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
at java.lang.Class.getDeclaredFields(Class.java:1743)
at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
Caused by: java.lang.ClassNotFoundException: org.krysalis.barcode4j.output.CanvasProvider
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
... 25 more



好像是少barcode4j jar包?但是这个包library Maven Dependencies 中是有的,是配置文件什么的问题么,我是做前端的,对一些概念了解没有很深入,告诉我怎么做就成

------解决方案--------------------
把你的jar放到web-inf的lib文件夹下再发布试试
------解决方案--------------------
你做完build,然后部署war包试试呢?
主要是检查那个jar有没包含在war里
------解决方案--------------------
你看看你的tomcat webapps下该工程的lib文件夹下少哪些JAR
------解决方案--------------------
引用:
Quote: 引用:

你看看你的tomcat webapps下该工程的lib文件夹下少哪些JAR
那里只有3个jar包,就是工程上就有的那三个,你的意思是,其他途径引入的jar包按理说也应该在这里面?

什么途径
------解决方案--------------------
是不是缺少barcode4j-2.0.jar这个jar包的原因,
  相关解决方案