jetty-8.1.17.v20150415 Eclipse启动工程报java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor错

在Eclipse中整合Jetty并启动Maven Web工程时遇到异常java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor。解决方法包括检查并添加jetty启动配置中遗漏的jar,特别是start.jar和lib目录下所有包。通过修改launch configuration,添加缺失的类路径,问题可得到解决。

参照本文eclipse 安装jetty WTP Adaptor插件安装jetty整合到eclipse时候启动maven 的Web工程发生如下异常:

2016-04-18 16:46:00.492:INFO:oejs.Server:jetty-8.1.1.v20120215
2016-04-18 16:46:00.515:INFO:oejdp.ScanningAppProvider:Deployment monitor /home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/webapps at interval 1
2016-04-18 16:46:00.519:INFO:oejdp.ScanningAppProvider:Deployment monitor /home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/contexts at interval 1
2016-04-18 16:46:00.521:INFO:oejd.DeploymentManager:Deployable added: /home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/contexts/mc-webapp.xml
2016-04-18 16:46:03.223:WARN:oejuc.AbstractLifeCycle:FAILED o.e.j.w.WebAppContext{/mc-webapp,[file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/blitzer-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/dark-hive-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/ui-lightness-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/sam-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/rocket-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/myfaces-api-2.1.5.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/swanky-purse-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/trontastic-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/south-street-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/primefaces-3.0.1.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/hot-sneaks-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/glass-x-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/le-frog-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/casablanca-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/overcast-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/ui-darkness-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/midnight-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/eggplant-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/humanity-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/smoothness-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/flick-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/vader-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/cupertino-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/black-tie-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/bluesky-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/pepper-grinder-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/mc-theme.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/home-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/mint-choc-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/sunny-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/excite-bike-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/start-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/redmond-1.0.3.jar!/META-INF/resources/, jar:file:/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp/WEB-INF/lib/myfaces-impl-2.1.5.jar!/META-INF/resources/]},/home/mitesh.patel/dev/mc-sandbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mc-webapp: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor
java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor
    at org.eclipse.jetty.annotations.AnnotationConfiguration.createAnnotationParser(AnnotationConfiguration.java:111)
    at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:73)
    at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:428)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1208)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:699)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36)
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183)
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:491)
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:138)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:142)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:53)
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:604)
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:535)
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:398)
    at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:332)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:118)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:552)
    at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:227)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:58)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:53)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:91)
    at org.eclipse.jetty.server.Server.doStart(Server.java:263)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1215)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.jetty.start.Main.invokeMain(Main.java:457)
    at org.eclipse.jetty.start.Main.start(Main.java:602)
    at org.eclipse.jetty.start.Main.main(Main.java:82)
Caused by: 
java.lang.ClassNotFoundException: org.objectweb.asm.ClassVisitor
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.eclipse.jetty.annotations.AnnotationConfiguration.createAnnotationParser(AnnotationConfiguration.java:111)
    at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:73)
    at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:428)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1208)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:699)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36)
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183)
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:491)
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:138)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:142)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:53)
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:604)
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:535)
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:398)
    at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:332)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:118)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:552)
    at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:227)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:58)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:53)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:91)
    at org.eclipse.jetty.server.Server.doStart(Server.java:263)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1215)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.jetty.start.Main.invokeMain(Main.java:457)
    at org.eclipse.jetty.start.Main.start(Main.java:602)
    at org.eclipse.jetty.start.Main.main(Main.java:82)
2016-04-18 16:46:03.226:WARN:oejd.DeploymentManager:Unable to reach node goal: started
java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor
    at org.eclipse.jetty.annotations.AnnotationConfiguration.createAnnotationParser(AnnotationConfiguration.java:111)
    at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:73)
    at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:428)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1208)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:699)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36)
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183)
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:491)
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:138)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:142)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:53)
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:604)
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:535)
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:398)
    at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:332)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:118)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:552)
    at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:227)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:58)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:53)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:91)
    at org.eclipse.jetty.server.Server.doStart(Server.java:263)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1215)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.jetty.start.Main.invokeMain(Main.java:457)
    at org.eclipse.jetty.start.Main.start(Main.java:602)
    at org.eclipse.jetty.start.Main.main(Main.java:82)
Caused by: 
java.lang.ClassNotFoundException: org.objectweb.asm.ClassVisitor
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.eclipse.jetty.annotations.AnnotationConfiguration.createAnnotationParser(AnnotationConfiguration.java:111)
    at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:73)
    at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:428)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1208)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:699)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36)
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183)
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:491)
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:138)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:142)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:53)
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:604)
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:535)
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:398)
    at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:332)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:118)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:552)
    at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:227)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:58)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:53)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:91)
    at org.eclipse.jetty.server.Server.doStart(Server.java:263)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1215)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.jetty.start.Main.invokeMain(Main.java:457)
    at org.eclipse.jetty.start.Main.start(Main.java:602)
    at org.eclipse.jetty.start.Main.main(Main.java:82)
2016-04-18 16:46:03.250:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080

发生此错误说明eclipse里面的jetty的jar引入缺失,需要添加,首先双击部署的jetty服务器如下图:


之后显示如下图,点击Open launch configuration修改jetty发布配置:


找到classpath 选项卡添加遗漏的jar,注意查看有没有引入jetty根目录下的start.jar,以及lib包下面的所有包和子文件夹下面的包:



点击Apply 然后点击OK即可,重新启动jetty服务即可


### 解决 Java NoClassDefFoundError Jetty RequestLog Writer 类未找到的问题 当遇到 `java.lang.NoClassDefFoundError: org/eclipse/jetty/server/RequestLog$Writer` 误时,这通常意味着应用程序在运行期间找不到指定的类文件。此类问题通常是由于缺少必要的库或依赖项引起的。 #### 1. 检查 Maven 或 Gradle 配置中的依赖关系 如果使用的是Maven构建工具,则应确保项目的pom.xml文件中包含了Jetty服务器及其日志组件的相关依赖。对于Gradle项目,应在build.gradle文件中添加相应的依赖声明[^2]。 ```xml <!-- pom.xml --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> <version>${jetty.version}</version> </dependency> ``` ```groovy // build.gradle dependencies { implementation 'org.eclipse.jetty:jetty-server:${jettyVersion}' implementation 'org.eclipse.jetty:jetty-util:${jettyVersion}' } ``` #### 2. 清理和重新安装本地仓库缓存 有时本地Maven或Gradle仓库可能会损坏,导致某些JAR包未能正确下载。可以尝试清理这些缓存并强制刷新依赖: - 对于Maven, 使用命令 `mvn clean install -U` - 对于Gradle, 可以删除 `.gradle/caches/modules-2/files-2.1/org.eclipse.jetty/*` 文件夹后再执行同步操作 #### 3. 更新IDE配置 即使所有必需的依赖都已存在于POM或Build脚本当中,在开发环境中仍然可能出现无法识别的情况。此时建议重启集成开发环境(IDE),如Eclipse,并让其自动解析新的依赖关系;或者手动调整Project Structure设置以包含所需的外部库[^3]。 #### 4. 排除潜在冲突 如果有多个不同版本的Jetty库共存于同一个classpath之下,那么也有可能引发类似的异常。因此应当仔细审查整个项目的依赖树结构,移除不必要的重复条目,并保持一致性的版本号。 #### 5. 调整应用容器的选择 根据描述提到的信息来看,如果没有Spring Boot插件的话,默认情况下启动主程序将会采用Jetty作为内嵌Web Server。然而并不是所有的场景都需要如此复杂的服务端实现方式。考虑切换至其他轻量级替代方案(比如Tomcat),也许能够简化问题排查过程[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值