Search code examples
apachetomcatweb-deploymentgeronimo

Web application deployment failing in Geronimo


I have got a Linux VM with WASCE and want to deploy a web app using Geronimo. When I am trying to deploy my app to Geronimo 3.0.0.3 J2EE Web Profile Server, the deployment is failing with the following stacktrace:

The application was not successfully started.
start of <myApp>/1.0.0-SNAPSHOT/war failed
org.apache.geronimo.kernel.config.LifecycleException: start of <myApp>/1.0.0-SNAPSHOT/war failed
at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:726)
at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:689)
at org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.geronimo.kernel.config.InvalidConfigException: Unknown start exception
at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:527)
at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:225)
at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:710)
... 3 more
Caused by: org.apache.geronimo.gbean.InvalidConfigurationException: Could not load GBeanInfo class from classloader: org.eclipse.osgi.framework.internal.core.BundleContextImpl@690bf1cf className=org.apache.geronimo.openwebbeans.OpenWebBeansWebAppContext
at org.apache.geronimo.gbean.runtime.GBeanInstance.(GBeanInstance.java:250)
at org.apache.geronimo.kernel.basic.BasicKernel.loadGBean(BasicKernel.java:361)
at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:452)
... 5 more
Caused by: java.lang.ClassNotFoundException: org.apache.geronimo.openwebbeans.OpenWebBeansWebAppContext
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.apache.geronimo.hook.equinox.GeronimoClassLoader.loadClass(GeronimoClassLoader.java:85)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)
at org.apache.geronimo.gbean.runtime.GBeanInstance.(GBeanInstance.java:248)
... 7 more

If I try it with plain Tomcat container, it gets deployed successfully and works fine. But the application going to need some enterprise functionality, so would be needing Geronimo.

It seems that is a problem at Geronimo Layer, any suggestion or tip would be really appreciated.

Thanks in advance!


Solution

  • Fortunately, I could get rid of this problem. Below are the steps:

    1. Kill WASCE process.
    2. Modify the config.xml not to load below two modules:

      <module load="false" name="org.apache.geronimo.configs/openwebbeans/3.0-w20120730/car"/>
      <module load="false" name="org.apache.geronimo.configs/openwebbeans-deployer/3.0-w20120730/car"/>
      
    3. Restart WASCE and you are good to go.

    Credits : Jiang, Minghua