On my side of the gerrit installation, I got stuck.
I followed the instructions as best I could but I can't seem to get
gerrit to show up in my browser.
Looking at my log file for Jetty, this is what I get:
2009-10-20 16:30:19.553:INFO::jetty-7.0.0.v20091005
2009-10-20 16:30:19.594:INFO::Deploy /home/gerrit2/jetty/contexts/
demo.xml -> MovedContextHandler@19a0c7c@19a0c7c/demo,null
2009-10-20 16:30:19.625:INFO::Deploy /home/gerrit2/jetty/contexts/
javadoc.xml -> ContextHandler@1543c88@1543c88/javadoc,file:/home/
gerrit2/jetty/javadoc/
2009-10-20 16:30:19.653:WARN::Config error at <New id="ReviewDb"
class="org.eclipse.jetty.plus.jndi.Resource"><Arg/><Arg>jdbc/ReviewDb</
Arg><Arg>
<New class="org.apache.commons.dbcp.BasicDataSource"><Set
name="driverClassName">com.mysql.jdbc.Driver</Set><Set
name="url">jdbc:mysql://localhost/reviewdb?
user=gerrit2&password=secretkey</Set><Set name="initialSize">4</
Set><Set name="maxActive">8</Set><Set name="minIdle">4</Set><Set
name="maxIdle">4</Set><Set name="maxWait">30000</Set></New>
</Arg></New>
2009-10-20 16:30:19.653:WARN::EXCEPTION
java.lang.ClassNotFoundException:
org.apache.commons.dbcp.BasicDataSource
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:90)
at org.eclipse.jetty.xml.XmlConfiguration.nodeClass
(XmlConfiguration.java:224)
at org.eclipse.jetty.xml.XmlConfiguration.newObj
(XmlConfiguration.java:572)
at org.eclipse.jetty.xml.XmlConfiguration.itemValue
(XmlConfiguration.java:912)
at org.eclipse.jetty.xml.XmlConfiguration.value
(XmlConfiguration.java:837)
at org.eclipse.jetty.xml.XmlConfiguration.newObj
(XmlConfiguration.java:593)
at org.eclipse.jetty.xml.XmlConfiguration.configure
(XmlConfiguration.java:256)
at org.eclipse.jetty.xml.XmlConfiguration.configure
(XmlConfiguration.java:214)
at org.eclipse.jetty.deploy.ContextDeployer.createContext
(ContextDeployer.java:402)
at org.eclipse.jetty.deploy.ContextDeployer.deploy
(ContextDeployer.java:296)
at org.eclipse.jetty.deploy.ContextDeployer.access$000
(ContextDeployer.java:66)
at org.eclipse.jetty.deploy.ContextDeployer
$ScannerListener.fileAdded(ContextDeployer.java:89)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:
412)
at org.eclipse.jetty.util.Scanner.reportDifferences
(Scanner.java:326)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:282)
at org.eclipse.jetty.deploy.ContextDeployer.doStart
(ContextDeployer.java:360)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.Server.doStart(Server.java:209)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.xml.XmlConfiguration$1.run
(XmlConfiguration.java:990)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main
(XmlConfiguration.java:955)
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:394)
at org.eclipse.jetty.start.Main.start(Main.java:546)
at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:
208)
at org.eclipse.jetty.start.Main.main(Main.java:75)
2009-10-20 16:30:19.655:WARN::ContextDeployer$Scanner failed on '/home/
gerrit2/jetty/contexts/gerrit.xml
2009-10-20 16:30:19.682:INFO::Extract jar:file:/home/gerrit2/jetty/
webapps/test.war!/ to /tmp/
Jetty_android.dev_testing_com_8081_test.war__test__cfqmoy/webapp
2009-10-20 16:30:19.803:INFO::NO JSP Support for /test, did not find
org.apache.jasper.servlet.JspServlet
2009-10-20 16:30:19.891:INFO::Logging to StdErrLog::DEBUG=false via
org.eclipse.jetty.util.log.StdErrLog
2009-10-20 16:30:20.224:INFO:/test:Managing
org.eclipse.jetty.servlets.ProxyServlet.Logger
2009-10-20 16:30:20.224:INFO:/test:Managing
org.eclipse.jetty.servlets.ProxyServlet.ThreadPool
2009-10-20 16:30:20.225:INFO:/test:Managing
org.eclipse.jetty.servlets.ProxyServlet.HttpClient
2009-10-20
16:30:20.225:INFO:org.eclipse.jetty.servlets.ProxyServlet:ProxyServlet
@ /jetty to
http://jetty.mortbay.org/test
2009-10-20 16:30:20.226:INFO::Extract jar:file:/home/gerrit2/jetty/
webapps/gerrit.war!/ to /tmp/
Jetty_android.dev_testing_com_8081_gerrit.war__gerrit__.2lewr0/webapp
2009-10-20 16:30:20.843:INFO::NO JSP Support for /gerrit, did not find
org.apache.jasper.servlet.JspServlet
2009-10-20 16:30:21,700::ERROR:
com.google.gerrit.server.http.GerritServletConfig - Cannot read
GerritServer.properties
caused by java.io.FileNotFoundException: GerritServer.properties (No
such file or directory)
Resolve above errors before continuing.
Complete stack trace follows:
java.io.FileNotFoundException: GerritServer.properties (No such file
or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at
com.google.gerrit.server.config.ReviewDbDataSourceProvider.readGerritDataSource
(ReviewDbDataSourceProvider.java:63)
at
com.google.gerrit.server.config.ReviewDbDataSourceProvider.get
(ReviewDbDataSourceProvider.java:40)
at
com.google.gerrit.server.config.ReviewDbDataSourceProvider.get
(ReviewDbDataSourceProvider.java:33)
at com.google.inject.BoundProviderFactory.get
(BoundProviderFactory.java:58)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call
(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext
(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get
(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get
(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.InjectorBuilder$1.call
(InjectorBuilder.java:200)
at com.google.inject.InjectorBuilder$1.call
(InjectorBuilder.java:194)
at com.google.inject.InjectorImpl.callInContext
(InjectorImpl.java:804)
at com.google.inject.InjectorBuilder.loadEagerSingletons
(InjectorBuilder.java:194)
at com.google.inject.InjectorBuilder.injectDynamically
(InjectorBuilder.java:176)
at com.google.inject.InjectorBuilder.build
(InjectorBuilder.java:113)
at com.google.inject.Guice.createInjector(Guice.java:92)
at com.google.inject.Guice.createInjector(Guice.java:80)
at com.google.gerrit.server.http.GerritServletConfig.init
(GerritServletConfig.java:65)
at
com.google.gerrit.server.http.GerritServletConfig.getInjector
(GerritServletConfig.java:124)
at
com.google.inject.servlet.GuiceServletContextListener.contextInitialized
(GuiceServletContextListener.java:43)
at
com.google.gerrit.server.http.GerritServletConfig.contextInitialized
(GerritServletConfig.java:130)
at org.eclipse.jetty.server.handler.ContextHandler.startContext
(ContextHandler.java:643)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext
(ServletContextHandler.java:189)
at org.eclipse.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:913)
at org.eclipse.jetty.server.handler.ContextHandler.doStart
(ContextHandler.java:584)
at org.eclipse.jetty.webapp.WebAppContext.doStart
(WebAppContext.java:341)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerCollection.doStart
(HandlerCollection.java:164)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart
(ContextHandlerCollection.java:161)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerCollection.doStart
(HandlerCollection.java:164)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart
(HandlerWrapper.java:92)
at org.eclipse.jetty.server.Server.doStart(Server.java:232)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.xml.XmlConfiguration$1.run
(XmlConfiguration.java:990)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main
(XmlConfiguration.java:955)
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:394)
at org.eclipse.jetty.start.Main.start(Main.java:546)
at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:
208)
at org.eclipse.jetty.start.Main.main(Main.java:75)
2009-10-20 16:30:21.702:WARN::Failed startup of context
WebAppContext@1f01a29@1f01a29/gerrit,file:/tmp/
Jetty_android.dev_testing_com_8081_gerrit.war__gerrit__.2lewr0/
webapp/,file:/home/gerrit2/jetty/webapps/gerrit.war
com.google.inject.CreationException: Guice creation errors:
1) Cannot read GerritServer.properties
while locating
com.google.gerrit.server.config.ReviewDbDataSourceProvider
while locating javax.sql.DataSource annotated with
@com.google.inject.name.Named(value=ReviewDb)
1 error
at com.google.gerrit.server.http.GerritServletConfig.init
(GerritServletConfig.java:82)
at
com.google.gerrit.server.http.GerritServletConfig.getInjector
(GerritServletConfig.java:124)
at
com.google.inject.servlet.GuiceServletContextListener.contextInitialized
(GuiceServletContextListener.java:43)
at
com.google.gerrit.server.http.GerritServletConfig.contextInitialized
(GerritServletConfig.java:130)
at org.eclipse.jetty.server.handler.ContextHandler.startContext
(ContextHandler.java:643)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext
(ServletContextHandler.java:189)
at org.eclipse.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:913)
at org.eclipse.jetty.server.handler.ContextHandler.doStart
(ContextHandler.java:584)
at org.eclipse.jetty.webapp.WebAppContext.doStart
(WebAppContext.java:341)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerCollection.doStart
(HandlerCollection.java:164)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart
(ContextHandlerCollection.java:161)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerCollection.doStart
(HandlerCollection.java:164)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart
(HandlerWrapper.java:92)
at org.eclipse.jetty.server.Server.doStart(Server.java:232)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:55)
at org.eclipse.jetty.xml.XmlConfiguration$1.run
(XmlConfiguration.java:990)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main
(XmlConfiguration.java:955)
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:394)
at org.eclipse.jetty.start.Main.start(Main.java:546)
at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:
208)
at org.eclipse.jetty.start.Main.main(Main.java:75)
Caused by: java.io.FileNotFoundException: GerritServer.properties (No
such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at
com.google.gerrit.server.config.ReviewDbDataSourceProvider.readGerritDataSource
(ReviewDbDataSourceProvider.java:63)
at
com.google.gerrit.server.config.ReviewDbDataSourceProvider.get
(ReviewDbDataSourceProvider.java:40)
at
com.google.gerrit.server.config.ReviewDbDataSourceProvider.get
(ReviewDbDataSourceProvider.java:33)
at com.google.inject.BoundProviderFactory.get
(BoundProviderFactory.java:58)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call
(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext
(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get
(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get
(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.InjectorBuilder$1.call
(InjectorBuilder.java:200)
at com.google.inject.InjectorBuilder$1.call
(InjectorBuilder.java:194)
at com.google.inject.InjectorImpl.callInContext
(InjectorImpl.java:804)
at com.google.inject.InjectorBuilder.loadEagerSingletons
(InjectorBuilder.java:194)
at com.google.inject.InjectorBuilder.injectDynamically
(InjectorBuilder.java:176)
at com.google.inject.InjectorBuilder.build
(InjectorBuilder.java:113)
at com.google.inject.Guice.createInjector(Guice.java:92)
at com.google.inject.Guice.createInjector(Guice.java:80)
at com.google.gerrit.server.http.GerritServletConfig.init
(GerritServletConfig.java:65)
... 28 more
2009-10-20 16:30:21.708:INFO::Opened /home/gerrit2/jetty/logs/
2009_10_20.request.log
2009-10-20 16:30:21.723:INFO::Started SelectChannelConnector@android-
dev.testing.com:8081
It looks like it's trying to instantiate this
org.apache.commons.dbcp.BasicDataSource class off of the XML in the
gerrit.xml context file but it can't find the class.
Then later, it is looking for the GerritServer.properties file.
According to the doc, we only need to create this file once to create
the database schema basically. I don't understand why it is looking
for it and if it is, where am I supposed to put it so it gets
accessible to gerrit?
------------------------------
Ok... so I found the problem while writing this post. LoL
Basically, those "optional" libraries are quite important.
I had to install the packages libcommons-pool-java and libcommons-dbcp-
java (under a Debian Lenny environment)
Then that jar file downloaded by that curl command, you have to copy
it into $JETTY_HOME/lib/ext/ along with commons-pool-1.3.jar and
commons-dbcp-1.2.1.jar (depending on the version you have)
How can I update the documentation? I would like to contribute to it
after my experience installing Gerrit.