星期四 2007年08月16日
编程中碰到的异常以及解决方案(长期更新)
刚刚用了Commons Digester,它主要的作用是将XML配置文件中的配置内容方便地转换为一系列的JAVA对象。但是碰到了一个小的错误。
2007-08-16 17:03:55,406 DEBUG [com.zqdu.ec.util.DaoFactory] - <准备XML文件向JAVA对象转换>
2007-08-16 17:03:55,437 DEBUG [com.zqdu.ec.util.DaoFactory] -
2007-08-16 17:03:55,437 DEBUG [com.zqdu.ec.util.DaoFactory] - <开始解析配置XML文件>
2007-08-16 17:03:55,500 ERROR [org.apache.commons.digester.Digester] - <Begin event threw error>
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/BeanUtils
at org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:252)
at org.apache.commons.digester.Rule.begin(Rule.java:175)
at org.apache.commons.digester.Digester.startElement(Digester.java:1453)
at gnu.xml.aelfred2.SAXDriver.startElement(SAXDriver.java:836)
at gnu.xml.aelfred2.XmlParser.parseElement(XmlParser.java:1037)
at gnu.xml.aelfred2.XmlParser.parseDocument(XmlParser.java:416)
at gnu.xml.aelfred2.XmlParser.doParse(XmlParser.java:167)
at gnu.xml.aelfred2.SAXDriver.parse(SAXDriver.java:320)
at gnu.xml.aelfred2.XmlReader.parse(XmlReader.java:294)
at org.apache.commons.digester.Digester.parse(Digester.java:1765)
at com.zqdu.ec.util.DaoFactory.<clinit>(DaoFactory.java:42)
at com.zqdu.ec.test.TestDaoFactory.main(TestDaoFactory.java:15)
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/beanutils/BeanUtils
at org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:252)
at org.apache.commons.digester.Rule.begin(Rule.java:175)
at org.apache.commons.digester.Digester.startElement(Digester.java:1453)
at gnu.xml.aelfred2.SAXDriver.startElement(SAXDriver.java:836)
at gnu.xml.aelfred2.XmlParser.parseElement(XmlParser.java:1037)
at gnu.xml.aelfred2.XmlParser.parseDocument(XmlParser.java:416)
at gnu.xml.aelfred2.XmlParser.doParse(XmlParser.java:167)
at gnu.xml.aelfred2.SAXDriver.parse(SAXDriver.java:320)
at gnu.xml.aelfred2.XmlReader.parse(XmlReader.java:294)
at org.apache.commons.digester.Digester.parse(Digester.java:1765)
at com.zqdu.ec.util.DaoFactory.<clinit>(DaoFactory.java:42)
at com.zqdu.ec.test.TestDaoFactory.main(TestDaoFactory.java:15)
网上找了一下,说是缺少commons-beanutils,后来立即去网上找了下载地址,突然发现这个包在Struts里面有的,狂喜!立即用MyEclipse导入,问题解决。
小知识:Commons-Beanutils 这个是jakarta commons项目中的一个子项目。这个项目开发的目的是帮助开发者动态的获取/设值Java Bean的属性,同时解决每次都要写getXXX和setXXX的麻烦。