gerrit整合gitweb:Error injecting constructor, java.io.IOException: Permission denied

來源:互聯網
上載者:User

標籤:

使用gerrit賬戶在centos上安裝gerrit,然後整合gitweb,gerrit服務啟動失敗,查看日誌,報錯資訊如下:

[2015-05-15 05:03:42,671] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemonjava.lang.IllegalStateException: Cannot start HTTP daemon        at com.google.gerrit.pgm.http.jetty.JettyServer$Lifecycle.start(JettyServer.java:139)        at com.google.gerrit.lifecycle.LifecycleManager.start(LifecycleManager.java:74)        at com.google.gerrit.pgm.Daemon.start(Daemon.java:291)        at com.google.gerrit.pgm.Daemon.run(Daemon.java:203)        at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)        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: com.google.inject.ProvisionException: Unable to provision, see the following errors:1) Error injecting constructor, java.io.IOException: Permission denied  at com.google.gerrit.httpd.gitweb.GitWebServlet.<init>(GitWebServlet.java:99)  at com.google.gerrit.httpd.gitweb.GitWebServlet.class(GitWebServlet.java:78)  while locating com.google.gerrit.httpd.gitweb.GitWebServlet1 error        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1018)        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1040)        at com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:110)        at com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82)        at com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:103)        at com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:220)        at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:137)        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:831)        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:300)        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:744)        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)        at org.eclipse.jetty.server.Server.start(Server.java:357)        at org.eclipse.jetty.server.Server.doStart(Server.java:324)        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)        at com.google.gerrit.pgm.http.jetty.JettyServer$Lifecycle.start(JettyServer.java:125)        ... 12 moreCaused by: java.io.IOException: Permission denied        at java.io.UnixFileSystem.createFileExclusively(Native Method)        at java.io.File.createTempFile(File.java:2001)        at com.google.gerrit.httpd.gitweb.GitWebServlet.makeSiteConfig(GitWebServlet.java:149)        at com.google.gerrit.httpd.gitweb.GitWebServlet.<init>(GitWebServlet.java:126)        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:1066)        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.InjectorImpl$2$1.call(InjectorImpl.java:1009)        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1059)        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1005)        ... 29 more

gerrit的安裝路徑是/home/gerrit/gerrit_site,

查看gerrit_site的許可權和屬主,可能是之前的誤操作,gerrit_site目錄的屬主不是gerrit:gerrit,而是777:gerrit。

執行命令:chown -R gerrit:gerrit gerrit_site

修改目錄許可權後,重啟gerrit服務,正常運行。

over!

gerrit整合gitweb:Error injecting constructor, java.io.IOException: Permission denied

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.