科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用MyEclipse+struts+hibernate测试时遇到的问题

用MyEclipse+struts+hibernate测试时遇到的问题

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文是关于用MyEclipse+struts+hibernate测试时遇到的问题。

作者: Ken.xu 来源:CSDN 2008年2月16日

关键字: 测试 Hibernate Struts MyEclipse Linux

  • 评论
  • 分享微博
  • 分享邮件
由于工作原因,使用了MyEclipse+Struts1.2+Hibernate3.1+Spring2.0框架写程序,刚开始的时候在Tomcat6.0上写,后来上面的领导非要弄到Resin3.0上,具体原因不清楚,没办法,照办吧。

 

    把MyEclipse下自动生成的SSH结构直接发布到Resin3.0上,结果痛苦便开始了,弹出错误说什么

21:13:32,500 ERROR Digester:686 - Digester.getParser: 
org.xml.sax.SAXNotRecognizedException: http:
//apache.org/xml/features/validation/dynamic
    at com.caucho.xml.parsers.XmlSAXParserFactory.setFeature(XmlSAXParserFactory.java:94)
    at org.apache.commons.digester.parser.XercesParser.configureXerces(XercesParser.java:185)
    at org.apache.commons.digester.parser.XercesParser.newSAXParser(XercesParser.java:138)

 

还有其他错误,总之就是xml解析异常,后来经过好多次试验总结后发现,如果单独部署Hibernate或Spring或Struts或Spring+Struts都是没有问题的,但只要把Hibernate加进来,就肯定会出Strtus的配置文件无法初始化的错误,后来研究了一下Hibernate项目添加进来的包文件,经过研究,把一下几个包从里面删除:

 

commons-collections-2.1.1.jar

Struts加入的包功能重复

antlr-2.7.5H3.jar

Struts加入的包功能重复

commons-logging-1.0.4.jar

Struts加入的包功能重复

xerces-2.6.2.jar、xml-apis.jar

一套xml解析器

 

 

经过查阅无数的资料(当然了是通过Google和Baidu)得到如下结论

hibernate2 需要hibernate2.jar;用 hibernate3 需要 hibernate3.jarantlr-2.7.5H3.jar

 

然后加入Struts1.2,

添加到Resin3.0中运行一下吧,看没问题。嘿嘿。。暂时没问题,

 

附录:Hibernate中不必要的类库

ant.jar和optional.jar

Ant使用的

c3p0.jar

一个数据库连接池

proxool.jar

一个数据库连接池

commons-pool.jar, commons-dbcp.jar

DBCP数据库连接池,罗嗦啊,tomcat也有这个

connector.jar

JCA 规范,如果你在App Server上把Hibernate配置为Connector的话,就需要这个jar。不过实际上一般App Server肯定会带上这个包,所以实际上是多余的包。

jaas.jar

JAAS是用来进行权限验证的,已经包含在JDK1.4里面了

jcs.jar

如果你准备在Hibernate中使用JCS的话,那么必须包括它,否则就不用

jdbc2_0-stdext.jar

JDBC2.0的扩展包,一般来说数据库连接池会用上它。不过App Server都会带上

jta.jar

JTA规范,当Hibernate使用JTA的时候需要,不过App Server都会带上

junit.jar

Junit包,当你运行Hibernate自带的测试代码的时候需要,否则就不用

xalan.jar, xerces.jar, xml-apis.jar

Xerces是XML解析器,Xalan是格式化器,xml-apis实际上是JAXP。一般App Server都会带上,JDK1.4也包含了解析器,不过不是Xerces,是Crimson,效率比较差,不过Hibernate用XML只不过是读取配置文件,性能没什么紧要的,所以也是多余的。而且也是罪恶的根源,不定哪个有冲突了。

 

 

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章