我正在尝试开始将项目部署到 Websphere,但我得到了以下错误线索。(缩短)
ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'birtView' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'birtEngine' while setting bean property 'birtEngine'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'birtEngine': FactoryBean threw exception on object creation; nested exception is java.lang.RuntimeException: Could not start the Birt engine!
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'birtEngine': FactoryBean threw exception on object creation; nested exception is java.lang.RuntimeException: Could not start the Birt engine!
Caused by: java.lang.RuntimeException: Could not start the Birt engine!
Caused by: org.eclipse.birt.core.exception.BirtException: error.CannotStartupOSGIPlatform
Caused by: org.eclipse.birt.core.framework.FrameworkException: Cant register the ExtensionRegistry classpath
Caused by: org.eclipse.core.runtime.CoreException: Extension registry provider is already set.
我在网上找到的倒数第三个错误的解决方案是删除以下代码行。
config.setEngineHome("C:/birt-runtime-3_7_0/ReportEngine");
但是,这对我们的设置不存在且不必要。它(使用的 BIRT 特定代码)与这个在线示例非常相似:
http://www.springsource.org/BusinessIntelligenceWithSpringAndBIRT
BirtView 和 BirtEngineFactory 是我项目中唯一相关的部分。我去了这个错误页面和论坛条目并尝试了代码添加。那没起效。该项目启动并在 Tomcat 6x 上运行,没有任何问题。
http://www.eclipse.org/forums/index.php/m/727929/
https://bugs.eclipse.org/bugs/show_bug.cgi?id=351052
我将 Web Sphere 中的类加载器顺序设置为“首先使用应用程序类加载器加载的类”。如以下链接中的示例所示。
http://wiki.eclipse.org/BirtPOJO_Viewer_WebSphere_Deployment
我仍然遇到同样的错误,我不确定我还应该做什么。我知道在不发布代码的情况下问这个有点困难,但是有人知道我应该寻找什么吗?谢谢。