This repository is not writable ("this" = ${GERONIMO_HOME}/repository)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

This repository is not writable ("this" = ${GERONIMO_HOME}/repository)

James Lee
Hello,

A first time install of geronimo (3.0.1) and I'm starting by deploying
the test WAR HelloWorld.war as described here:
http://geronimo.apache.org/GMOxDOC30/quick-start-apache-geronimo-for-the-impatient.html#Quickstart-ApacheGeronimofortheimpatient-Creatinganddeployingasampleapplication

This fails as described in ${GERONIMO_SERVER}/var/log/geronimo.log:

2013-09-18 17:28:06,120 INFO  [ModuleHandler] Deploying HelloWorld.war
2013-09-18 17:28:07,027 ERROR [ModuleHandler] Unable to deploy:
java.lang.IllegalStateException: This repository is not writable
org.apache.geronimo.common.DeploymentException:
java.lang.IllegalStateException: This repository is not writable
     at org.apache.geronimo.deployment.Deployer.install(Deployer.java:423)
     at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:297)
     at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:145)
     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
org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
     at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:131)
     at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:883)
     at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:245)
     at
org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(AbstractDeployCommand.java:116)
     at
org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(DistributeCommand.java:61)
     at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.IllegalStateException: This repository is not writable
     at
org.apache.geronimo.kernel.repository.AbstractRepository.verifyDestination(AbstractRepository.java:97)
     at
org.apache.geronimo.kernel.repository.AbstractRepository.copyToRepository(AbstractRepository.java:63)
     at
org.apache.geronimo.system.configuration.RepositoryConfigurationStore.install(RepositoryConfigurationStore.java:364)
     at org.apache.geronimo.deployment.Deployer.install(Deployer.java:408)
     ... 13 more



"This repository" (after much digging) is ${GERONIMO_HOME}/repository. I
suggest
framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/repository/AbstractRepository.java
should be:

         // is this a writable repository
         if (!rootFile.canWrite()) {
             throw new IllegalStateException("The repository " +
rootFile + " is not writable");
         }


Well of course it's not writable, it is the point of having both
GERONIMO_HOME and GERONIMO_SERVER which I have set as the notes in
bin/geronimo. Only GERONIMO_SERVER is writable by the geronimo user.

Why is it trying to deploy to the read only system files? How is this
supposed to work?



James.