引起:java.lang.ClassNotFoundException:org.mortbay.jetty.Handler

Posted

技术标签:

【中文标题】引起:java.lang.ClassNotFoundException:org.mortbay.jetty.Handler【英文标题】:Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.Handler 【发布时间】:2015-08-03 23:46:19 【问题描述】:

我正在开发 YouTube 广播示例 java 程序。我创建了一个从

导入代码的示例程序

https://github.com/youtube/api-samples/tree/master/java

而且,我已经导入了必要的依赖项/jars。但是,当我尝试运行程序时,它会在这一行抛出异常:

LocalServerReceiver localReceiver = new LocalServerReceiver.Builder().setPort(8080).build();

以下异常:

Throwable: org/mortbay/jetty/Handler
java.lang.NoClassDefFoundError: org/mortbay/jetty/Handler
    at com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver$Builder.build(LocalServerReceiver.java:169)
    at com.google.api.services.samples.youtube.cmdline.live.Auth.authorize(Auth.java:80)
    at com.google.api.services.samples.youtube.cmdline.live.CreateBroadcast.main(CreateBroadcast.java:55)
Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.Handler
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 3 more

当我导入org.mortbay.jetty.jar

我得到了这个例外:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/api/client/extensions/java6/auth/oauth2/VerificationCodeReceiver
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver$Builder.build(LocalServerReceiver.java:180)
    at HelloWorld.main(HelloWorld.java:7)
Caused by: java.lang.ClassNotFoundException: com.google.api.client.extensions.java6.auth.oauth2.VerificationCodeReceiver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 14 more

【问题讨论】:

你在用maven吗? 不,我正在使用构建路径导入 jars 添加了一个答案,指定了您应该包含的 jar。 when I import org.mortbay.jetty.jar 到底是什么意思?您在代码中添加了import statement?你把jar文件放在classpath?如果您在项目中使用 maven,请发布 pom.xml @SubOptimal 我没有使用 maven,而是使用构建路径。请用 shruti1810 检查我的前 3 个 cmets 你会知道我做了什么 【参考方案1】:

如果您使用的是 maven,请将此 jar 包含在您的 pom.xml

<dependency>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty</artifactId>
    <version>6.1.5</version>
</dependency>

否则,你可以下载这个jar org.mortbay.jetty.jar 并包含它。

【讨论】:

你指向的github链接有一个pom.xml,它没有包含这个jar。 是的,它没有提到那里,但显示 CTE 摆脱了那个错误 根据您的第二个错误,您应该也添加此 jar google-oauth-client-java6-1.13.1-beta-sources.jar 它给出的是相同的错误还是一些不同的错误? 你能解压包并检查它是否有这个类吗?如果没有,您正在使用的版本应该更新或降级为包含该类的 jar 版本。

以上是关于引起:java.lang.ClassNotFoundException:org.mortbay.jetty.Handler的主要内容,如果未能解决你的问题,请参考以下文章

如何区分两个“onpause”事件 - 由单击“暂停”按钮引起,以及由到达媒体片段末尾引起?

查询如何引起gc

杂牌设备网络接入引起交换机引起端口翻转的故障

csharp 可能会引起问题的类的继承问题,父类后来增加的方法可能会引起子类的函数重载错误

两则dhcp设置引起的故障

大开测试:性能-如何解决由于设置引起的运行失败问题(连载22)