0

我正在尝试将休眠集成到现有的 struts + ejb 2.0 应用程序中。我必须为从 hibernate.cfg.xml 中的会话创建编写一个 struts-hibernate 插件。我还创建了模型和 hbm 文件,但我猜由于 jar 文件冲突,我无法启动应用程序。我不断收到此异常:

[11/8/10 10:58:59:257 EST] 00000023 ServletWrappe E   SRVE0100E: Did not realize  init() exception thrown by servlet action: java.lang.NoClassDefFoundError: org.dom4j.io.OutputFormat
 at java.lang.J9VMInternals.verifyImpl(Native Method)
 at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
 at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
 at org.hibernate.cfg.Configuration.reset(Configuration.java:212)
 at org.hibernate.cfg.Configuration.<init>(Configuration.java:197)
 at org.hibernate.cfg.Configuration.<init>(Configuration.java:201)
 at com.vo.common.struts.utils.HibernatePlugIn.init(HibernatePlugIn.java:47)
 at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:1158)
 at org.apache.struts.action.ActionServlet.init(ActionServlet.java:473)
 at javax.servlet.GenericServlet.init(GenericServlet.java:256)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:185)
 at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.java:316)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1119)
 at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:149)
4

3 回答 3

1

你的类路径上有 dom4j 吗?

于 2010-11-08T16:44:59.340 回答
0

问题是在您的 Web 项目中,文件夹内没有 dom4j-1.6.1.jar WEB-INF/lib。将 jar 放在那里,重建您的项目(我假设是 EAR 文件)并将其重新部署到 WAS(如果我是正确的)。

在类路径中包含 dom.jar 仅有助于 Eclipse 在进行开发但构建 JAR/WAR/EAR 文件时管理类文件的类路径,您必须管理库(也可以在 Eclipse 中配置)。

于 2010-11-08T21:03:12.550 回答
0

是的,我明白了,问题出在类路径上,但不是 web-inf/lib,而是 server.xml 中的服务器类路径还需要具有应用程序所需的 jar 集。

非常感谢。

于 2010-11-08T23:55:06.913 回答