github - 格里特和 GitHub。 com.googlesource.gerrit.plugins.github.oauth.OAuthFilter

标签 github gerrit github-api

我正在尝试将 Gerrit 与 Github 集成,如下 this手动的。它编译成功,稍后我可以使用命令初始化 Gerrit:

java -jar gerrit-2.9.1.war init 

但是在我尝试启动 Gerrit 服务器后,它失败并在日志中显示以下错误:

[2014-11-27 14:06:36,723] ERROR com.google.gerrit.pgm.http.jetty.JettyServer : Unable to instantiate front-end HTTP Filter com.googlesource.gerrit.plugins.github.oauth.OAuthFilter
java.lang.ClassNotFoundException: com.googlesource.gerrit.plugins.github.oauth.OAuthFilter
    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 java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:191)
    at com.google.gerrit.pgm.http.jetty.JettyServer.makeContext(JettyServer.java:425)
    at com.google.gerrit.pgm.http.jetty.JettyServer.makeContext(JettyServer.java:378)
    at com.google.gerrit.pgm.http.jetty.JettyServer.<init>(JettyServer.java:167)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:86)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
    at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:230)
    at com.google.gerrit.pgm.Daemon.createHttpdInjector(Daemon.java:438)
    at com.google.gerrit.pgm.Daemon.initHttpd(Daemon.java:403)
    at com.google.gerrit.pgm.Daemon.start(Daemon.java:286)
    at com.google.gerrit.pgm.Daemon.run(Daemon.java:201)
    at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:166)
    at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:93)
    at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:50)
    at Main.main(Main.java:25)
[2014-11-27 14:06:36,762] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon
com.google.inject.CreationException: Guice creation errors:

1) Error injecting constructor, java.lang.IllegalArgumentException: Unable to instantiate front-end HTTP Filter com.googlesource.gerrit.plugins.github.oauth.OAuthFilter
  at com.google.gerrit.pgm.http.jetty.JettyServer.<init>(JettyServer.java:161)
  at com.google.gerrit.pgm.http.jetty.JettyModule.configure(JettyModule.java:29)
  while locating com.google.gerrit.pgm.http.jetty.JettyServer

1 error
    at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
    at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:230)
    at com.google.gerrit.pgm.Daemon.createHttpdInjector(Daemon.java:438)
    at com.google.gerrit.pgm.Daemon.initHttpd(Daemon.java:403)
    at com.google.gerrit.pgm.Daemon.start(Daemon.java:286)
    at com.google.gerrit.pgm.Daemon.run(Daemon.java:201)
    at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:166)
    at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:93)
    at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:50)
    at Main.main(Main.java:25)
Caused by: java.lang.IllegalArgumentException: Unable to instantiate front-end HTTP Filter com.googlesource.gerrit.plugins.github.oauth.OAuthFilter
    at com.google.gerrit.pgm.http.jetty.JettyServer.makeContext(JettyServer.java:434)
    at com.google.gerrit.pgm.http.jetty.JettyServer.makeContext(JettyServer.java:378)
    at com.google.gerrit.pgm.http.jetty.JettyServer.<init>(JettyServer.java:167)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:86)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180)
    ... 15 more
Caused by: java.lang.ClassNotFoundException: com.googlesource.gerrit.plugins.github.oauth.OAuthFilter
    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 java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:191)
    at com.google.gerrit.pgm.http.jetty.JettyServer.makeContext(JettyServer.java:425)
    ... 35 more

我尝试了该插件的 2.10-SNAPSHOT 和 2.9 版本,但它们显示了此错误。如何启动 Gerrit(尝试使用 2.9.1)?

最佳答案

这个错误非常愚蠢。您必须将 github-oauth-2.11.jar 复制到 libs 目录,而不是插件。必须阅读https://gerrit.googlesource.com/plugins/github/仔细。

关于github - 格里特和 GitHub。 com.googlesource.gerrit.plugins.github.oauth.OAuthFilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27177793/

相关文章:

Git fork /merge 冲突?

github - 设置 Github Commit RSS 源

python - urllib 响应头丢失

git - 如何使用 GitHub API 获取任何分支中的一个文件的提交历史记录?

github - 如何配置 GitHub 以便自动分配所有问题?

java - 如何从github源码制作jar?

GitHub v3 API : How to create initial commit for my shiny new repository?

git - 使用 git-flow 功能分支和 Gerrit 的工作流

gerrit - 减少 Gerrit 发送的电子邮件通知数量

git - 在使用 gerrit 时,如何删除 remotes 标签?