谷歌日历API示例-纯Java
我试图建立一个基本的例子,这里有文档记录 我似乎无法运行应用程序而不出现一个或另一个错误 在我运行它之前没有错误,但是当我运行它时,我会得到以下运行时错误谷歌日历API示例-纯Java,java,google-api-java-client,Java,Google Api Java Client,我试图建立一个基本的例子,这里有文档记录 我似乎无法运行应用程序而不出现一个或另一个错误 在我运行它之前没有错误,但是当我运行它时,我会得到以下运行时错误 java.lang.NoClassDefFoundError: org/mortbay/jetty/Handler at com.azinky.CalendarSample.authorize(CalendarSample.java:95) at com.azinky.CalendarSample.main(CalendarS
java.lang.NoClassDefFoundError: org/mortbay/jetty/Handler
at com.azinky.CalendarSample.authorize(CalendarSample.java:95)
at com.azinky.CalendarSample.main(CalendarSample.java:107)
Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.Handler
然后在我的类路径中包括两个jar文件,jetty-6.1.26.jar和jetty-util-6.1.26.jar
现在我在运行时遇到另一个错误
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
at com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver.getRedirectUri(LocalServerReceiver.java:98)
at com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp.authorize(AuthorizationCodeInstalledApp.java:76)
at com.azinky.CalendarSample.authorize(CalendarSample.java:95)
at com.azinky.CalendarSample.main(CalendarSample.java:107)
Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest
我的机器上是否需要安装jetty才能运行此示例?文件上没有说我需要
这是我的完整课程路径
第一个类需要org.mortbay.jetty.jar,第二个类需要javax.servlet.jar
下载它并将其添加到您的类路径中,或者如果您使用maven,请查看maven存储库并将缺少的依赖项添加到pom.xml中。Jens的答案是正确的,您需要一些额外的JAR。Jetty用于构建一个快速的web服务器,以使用户的OAuth进程更加平滑。使用GoogleAPI不是强制性的,这就是为什么它没有在wiki中列出,但它对命令行应用程序有帮助 为了更好地管理依赖关系,我强烈建议您使用。由于您链接到的测试项目有一个pom.xml文件来描述其依赖关系,因此使用Maven构建项目将更容易 如果使用Eclipse,可以通过运行以下命令告诉maven为Eclipse构建项目: mvn eclipse:eclipse 你会找到更多信息
Eclipse还有几个插件可以更容易地与Maven集成,IntelliJ是直接集成的。我将尝试一下。在依赖项中没有提到这一点。此项目使用Maven,因此不需要手动下载required@KrzysztofWolny在OP的问题中,没有任何东西是他使用的maven@Jens我理解他试图从中运行示例,这是一个gradle/maven项目。也许我错了…@Jens暗示在MVN项目中手动操作jar是我否决答案的一个原因,是的。我想删除这个否决票,但我不能,因为我得到的错误,这个答案是编辑。