I need to perform integration tests for jackrabbit in an automated CI build, preferably using an embedded server rather than an external one that the build is dependent on.
I've managed to get this working by adding the jackrabbit web application to an embedded jetty server and then using this for the integration tests.
The one issue I do have is that I have to create the repository manually the first time the jackrabbit web app is deployed as I get the following stack trace:-
07.12.2009 10:34:16 *ERROR* RepositoryAccessServlet: The content repository is not available. Please check RepositoryAccessServlet configuration in web.xml. (RepositoryAccessServlet.java, line 306)
javax.servlet.ServletException: Repository access configuration is not valid.
I'm able to fix this by using the 'Create Content Repository' option on the 'Content Repository Setup', which creates the jackrabbit repository.
Is there a way I can configure the web app to implicitly create the jackrabbit repository, if it's not there, using the default config when it starts up?