James Lee
2013-09-19 11:54:09 UTC
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.
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.