I’m using version 2.34.0
When setting SCM_Home in the scm-server.xml to a local path, then it works.
However, I want the settings and repository to be located on a network location (Which has much larger storage and faster drives).
At first I tried creating a symbolic link for the repositories directory, and it didn’t work.
I then found out about the SCM_Home settings in the scm-server.xml and set the value to “\storage\Path\SCM-Manager”
However, I get:
sonia.scm.plugin.PluginLoadException: failed to load clazz
at sonia.scm.plugin.ExtensionCollector.load(ExtensionCollector.java:209)
at sonia.scm.plugin.ExtensionCollector.collectClasses(ExtensionCollector.java:178)
Looking at the logs, I see:
ERROR sonia.scm.lifecycle.BootstrapContextListener - failed to create stage two injector
sonia.scm.plugin.PluginLoadException: failed to load clazz
.
.
.
Caused by: java.lang.ClassNotFoundException: sonia.scm.api.v2.resources.SvnConfigResource
So, I’ve created a network drive called Z:, which is mapped to \storage\Path\ and I have changed the SCM_Home to “Z:\SCM-Manager”, but now I get:
java.lang.IllegalStateException: could not create home directory at Z:\SCM-Manager
I did restart the service, and I also made sure that the service (SCM manager is running on Windows), is logged using the user that created the Z: drive, and which also have permissions to access the network location.
Error from log:
ERROR sonia.scm.lifecycle.BootstrapContextListener - received unrecoverable error during startup
java.lang.IllegalStateException: could not create home directory at Z:\SCM-Manager
at sonia.scm.BasicContextProvider.error(BasicContextProvider.java:207)
at sonia.scm.BasicContextProvider.findBaseDirectory(BasicContextProvider.java:191)
at sonia.scm.BasicContextProvider.(BasicContextProvider.java:99)
at sonia.scm.SCMContext.getContext(SCMContext.java:88)
at sonia.scm.lifecycle.BootstrapContextListener.getInjector(BootstrapContextListener.java:84)
at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
at sonia.scm.lifecycle.BootstrapContextListener.contextInitialized(BootstrapContextListener.java:75)
at sonia.scm.lifecycle.BootstrapContextFilter.initializeContext(BootstrapContextFilter.java:74)
at sonia.scm.lifecycle.BootstrapContextFilter.init(BootstrapContextFilter.java:65)
at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:140)
at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:731)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:755)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:910)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:423)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at sonia.scm.server.ScmServer.init(ScmServer.java:130)
at sonia.scm.server.ScmServer.run(ScmServer.java:91)
at sonia.scm.server.ScmServerDaemon.main(ScmServerDaemon.java:53)
Is it even possible to have the SCM_Home placed on a network drive?
Thanks.