问题描述
异常信息:十二月10,201412:11:23上午org.springframework.web.context.ContextLoaderinitWebApplicationContext严重:Contextinitializationfailedorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sqlMapClient'definedinServletContextresource[/WEB-INF/spring/applicationContext-web.xml]:Invocationofinitmethodfailed;nestedexceptionisorg.springframework.core.NestedIOException:Failedtoparseconfigresource:ServletContextresource[/WEB-INF/ibatis/SqlMapConfig.xml];nestedexceptioniscom.ibatis.common.xml.NodeletException:ErrorparsingXML.Cause:java.lang.RuntimeException:ErrorparsingXPath'/sqlMapConfig/sqlMap'.Cause:com.ibatis.common.xml.NodeletException:ErrorparsingXML.Cause:java.lang.RuntimeException:ErrorparsingXPath'/sqlMap/insert'.Cause:com.ibatis.sqlmap.client.SqlMapException:Error.Couldnotinitializeclass.Cause:java.lang.ClassNotFoundException:com.ctry.ssi.entity.Useratorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)atorg.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)atorg.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)atorg.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)atjava.util.concurrent.FutureTask.run(UnknownSource)atjava.util.concurrent.ThreadPoolExecutor.runWorker(UnknownSource)atjava.util.concurrent.ThreadPoolExecutor$Worker.run(UnknownSource)atjava.lang.Thread.run(UnknownSource)Causedby:org.springframework.core.NestedIOException:Failedtoparseconfigresource:ServletContextresource[/WEB-INF/ibatis/SqlMapConfig.xml];nestedexceptioniscom.ibatis.common.xml.NodeletException:ErrorparsingXML.Cause:java.lang.RuntimeException:ErrorparsingXPath'/sqlMapConfig/sqlMap'.Cause:com.ibatis.common.xml.NodeletException:ErrorparsingXML.Cause:java.lang.RuntimeException:ErrorparsingXPath'/sqlMap/insert'.Cause:com.ibatis.sqlmap.client.SqlMapException:Error.Couldnotinitializeclass.Cause:java.lang.ClassNotFoundException:com.ctry.ssi.entity.Useratorg.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:341)atorg.springframework.orm.ibatis.SqlMapClientFactoryBean.afterPropertiesSet(SqlMapClientFactoryBean.java:291)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)...21moreCausedby:com.ibatis.common.xml.NodeletException:ErrorparsingXML.Cause:java.lang.RuntimeException:ErrorparsingXPath'/sqlMapConfig/sqlMap'.Cause:com.ibatis.common.xml.NodeletException:ErrorparsingXML.Cause:java.lang.RuntimeException:ErrorparsingXPath'/sqlMap/insert'.Cause:com.ibatis.sqlmap.client.SqlMapException:Error.Couldnotinitializeclass.Cause:java.lang.ClassNotFoundException:com.ctry.ssi.entity.Useratcom.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62)atcom.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:62)atcom.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:55)atorg.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:338)...24moreCausedby:java.lang.RuntimeException:ErrorparsingXPath'/sqlMapConfig/sqlMap'.Cause:com.ibatis.common.xml.NodeletException:ErrorparsingXML.Cause:java.lang.RuntimeException:ErrorparsingXPath'/sqlMap/insert'.Cause:com.ibatis.sqlmap.client.SqlMapException:Error.Couldnotinitializeclass.Cause:java.lang.ClassNotFoundException:com.ctry.ssi.entity.Useratcom.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)atcom.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84)atcom.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102)atcom.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72)atcom.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:60)...27moreCausedby:com.ibatis.common.xml.NodeletException:ErrorparsingXML.Cause:java.lang.RuntimeException:ErrorparsingXPath'/sqlMap/insert'.Cause:com.ibatis.sqlmap.client.SqlMapException:Error.Couldnotinitializeclass.Cause:java.lang.ClassNotFoundException:com.ctry.ssi.entity.Useratcom.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62)atcom.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:44)atcom.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$10.process(SqlMapConfigParser.java:257)atcom.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)...31moreCausedby:java.lang.RuntimeException:ErrorparsingXPath'/sqlMap/insert'.Cause:com.ibatis.sqlmap.client.SqlMapException:Error.Couldnotinitializeclass.Cause:java.lang.ClassNotFoundException:com.ctry.ssi.entity.Useratcom.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)atcom.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84)atcom.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102)atcom.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72)atcom.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:60)...34moreCausedby:com.ibatis.sqlmap.client.SqlMapException:Error.Couldnotinitializeclass.Cause:java.lang.ClassNotFoundException:com.ctry.ssi.entity.Useratcom.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.resolveClass(SqlStatementParser.java:89)atcom.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.parseGeneralStatement(SqlStatementParser.java:64)atcom.ibatis.sqlmap.engine.builder.xml.SqlMapParser$18.process(SqlMapParser.java:346)atcom.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)...38moreCausedby:java.lang.ClassNotFoundException:com.ctry.ssi.entity.Useratorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)atjava.lang.Class.forName0(NativeMethod)atjava.lang.Class.forName(UnknownSource)atcom.ibatis.common.resources.Resources.classForName(Resources.java:267)atcom.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.resolveClass(SqlStatementParser.java:84)...41more可是我明明有User.java啊:packagecom.ctry.ssi.entity;publicclassUser{privateintid;//用户idprivateStringname;//用户名称privateStringpassword;//用户密码privateStringusername;//用户昵称privateintaddress;//地址publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicintgetAddress(){returnaddress;}publicvoidsetAddress(intaddress){this.address=address;}publicintgetId(){returnid;}publicvoidsetId(intid){....................好奇怪啊,为什么java存在还会报这个错?
解决方案
解决方案二:
再附上sqlmap文件:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEsqlMapPUBLIC"-//ibatis.apache.org//DTDSQLMap2.0//EN""http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap><!--保存注册信息--><insertid="insertCity"parameterClass="com.ctry.ssi.entity.User">insertintocity(id,name,countrycode,district,population)values(#id#,#name#,#password#,#username#,#address#)</insert><selectid="selsectCity"parameterClass="java.lang.String"resultClass="com.ctry.ssi.entity.User">selectc.ididc.namename,c.countrycodepassword,c.districtusername,c.populationaddressfromcitycwherec.name=#name#</select></sqlMap>
解决方案三:
配置应该都没问题,你重新build下试试。
解决方案四:
selectc.idid,c.namename,少了一个逗号