Geronimo中的Web应用程序部署失败

时间:2015-01-15 13:08:25

标签: apache tomcat web-deployment geronimo

我有一个带有WASCE的Linux VM,并希望使用Geronimo部署一个Web应用程序。 当我尝试将我的应用程序部署到Geronimo 3.0.0.3 J2EE Web Profile Server时,部署失败并显示以下堆栈跟踪:

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

如果我使用普通的Tomcat容器尝试它,它会成功部署并正常工作。但是应用程序需要一些企业功能,因此需要Geronimo。

看起来这是Geronimo Layer的一个问题,任何建议或提示都会非常感激。

提前致谢!

1 个答案:

答案 0 :(得分:1)

幸运的是,我可以摆脱这个问题。以下是步骤:

  1. 杀死WASCE流程。
  2. 修改config.xml,不要在两个模块下面加载:

    <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. 重启WASCE,你很高兴。

  4. 致谢:蒋明华