Description
If I have a standalone war with the following deployment plan:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/web/jetty"
configId="foo"
parentId="org/apache/geronimo/Server">
<context-priority-classloader>false</context-priority-classloader>
</web-app>
The module will deploy, but the following exception is thrown on startup:
java.lang.IllegalArgumentException: Illegal context spec:null
at org.mortbay.http.HttpContext.canonicalContextPathSpec(HttpContext.java:241)
at org.mortbay.http.HttpContext.setContextPath(HttpContext.java:263)
at org.mortbay.http.HttpContext$$FastClassByCGLIB$$c359e803.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanAttribute.setValue(GBeanAttribute.java:387)
at org.apache.geronimo.gbean.runtime.GBeanAttribute.inject(GBeanAttribute.java:318)
at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:830)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:331)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:111)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:133)
at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:494)
at org.apache.geronimo.kernel.Kernel.startRecursiveGBean(Kernel.java:348)
This can be fixed by adding a context-root element to the deployment plan. Either the context-root element should be required, or preferably set the default context to the configuration id which is the default in the case where you have no deployment plan. Also the context-priority-classloader element should be optional.