我正在尝试将hibernate集成到现有的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)
答案 0 :(得分:1)
你的课程路径上有dom4j吗?
答案 1 :(得分:0)
问题是在您的Web项目中,WEB-INF/lib
文件夹中没有dom4j-1.6.1.jar。将jar放在那里,重建你的项目(我假设是EAR文件)并将其重新部署到WAS(如果我是正确的)。
在类路径中使用dom.jar只能帮助Eclipse在进行开发时管理类文件的类路径,但是在构建JAR / WAR / EAR文件时,您必须管理库(您也可以在Eclipse中配置它)。 / p>
答案 2 :(得分:0)
是的我得到了,问题出在classpath上,但不是web-inf / lib,而是服务器类路径,其中server.xml中还需要有应用程序所需的jar集。
非常感谢。