首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Spring 三 and MyBatis 3.0.4 / 3.0.6: MalformedParameterizedTypeException

2012-08-31 
Spring 3 and MyBatis 3.0.4 / 3.0.6: MalformedParameterizedTypeException根据网络的资料通过maven构建

Spring 3 and MyBatis 3.0.4 / 3.0.6: MalformedParameterizedTypeException

根据网络的资料通过maven构建了一个Spring+MyBatis项目,其中pom.xml文件中引入mybatis和Spring架包:?

<!-- spring webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>3.0.6.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>3.0.6.RELEASE</version></dependency><!-- spring-mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.0.2</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.0.4</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.14</version></dependency>

?结果运行后报错如下:

2012-04-01 15:51:29.842::WARN:  Failed startup of context org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@170a650{/haiping,E:\MyEclipse9MWorkSpaces\haiping\src\main\webapp}org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]: Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeExceptionat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:540)at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110)at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)at org.mortbay.jetty.Server.doStart(Server.java:222)at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:371)at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:307)at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203)at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105)at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:577)at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:324)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:247)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:104)at org.apache.maven.cli.MavenCli.execute(MavenCli.java:427)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:157)at org.apache.maven.cli.MavenCli.main(MavenCli.java:121)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)Caused by: java.lang.reflect.MalformedParameterizedTypeExceptionat sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:42)at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:35)at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:77)at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:86)at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:122)at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)at sun.reflect.generics.visitor.Reifier.visitArrayTypeSignature(Reifier.java:141)at sun.reflect.generics.tree.ArrayTypeSignature.accept(ArrayTypeSignature.java:24)at sun.reflect.generics.repository.ConstructorRepository.getParameterTypes(ConstructorRepository.java:76)at java.lang.reflect.Method.getGenericParameterTypes(Method.java:282)at org.springframework.core.GenericTypeResolver.getTargetType(GenericTypeResolver.java:65)at org.springframework.core.GenericTypeResolver.resolveParameterType(GenericTypeResolver.java:80)at org.springframework.beans.GenericTypeAwarePropertyDescriptor.getWriteMethodParameter(GenericTypeAwarePropertyDescriptor.java:147)at org.springframework.beans.GenericTypeAwarePropertyDescriptor.getPropertyType(GenericTypeAwarePropertyDescriptor.java:129)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isExcludedFromDependencyCheck(AbstractAutowireCapableBeanFactory.java:1234)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(AbstractAutowireCapableBeanFactory.java:1211)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1069)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)... 47 more2012-04-01 15:51:29.846::WARN:  Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]: Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeException:java.lang.reflect.MalformedParameterizedTypeExceptionat sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:42)at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:35)at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:77)at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:86)at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:122)at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)at sun.reflect.generics.visitor.Reifier.visitArrayTypeSignature(Reifier.java:141)at sun.reflect.generics.tree.ArrayTypeSignature.accept(ArrayTypeSignature.java:24)at sun.reflect.generics.repository.ConstructorRepository.getParameterTypes(ConstructorRepository.java:76)at java.lang.reflect.Method.getGenericParameterTypes(Method.java:282)at org.springframework.core.GenericTypeResolver.getTargetType(GenericTypeResolver.java:65)at org.springframework.core.GenericTypeResolver.resolveParameterType(GenericTypeResolver.java:80)at org.springframework.beans.GenericTypeAwarePropertyDescriptor.getWriteMethodParameter(GenericTypeAwarePropertyDescriptor.java:147)at org.springframework.beans.GenericTypeAwarePropertyDescriptor.getPropertyType(GenericTypeAwarePropertyDescriptor.java:129)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isExcludedFromDependencyCheck(AbstractAutowireCapableBeanFactory.java:1234)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(AbstractAutowireCapableBeanFactory.java:1211)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1069)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:540)at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110)at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)at org.mortbay.jetty.Server.doStart(Server.java:222)at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:371)at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:307)at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203)at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105)at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:577)at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:324)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:247)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:104)at org.apache.maven.cli.MavenCli.execute(MavenCli.java:427)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:157)at org.apache.maven.cli.MavenCli.main(MavenCli.java:121)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)2012-04-01 15:51:29.872::INFO:  Started SelectChannelConnector@0.0.0.0:8080[INFO] Started Jetty Server

?困恼啊 一遍一遍查看代码 都无发现重大错误 后在国外的老外的一片文章中找到了和我出现一样问题

地址:http://stackoverflow.com/questions/7917770/spring-3-and-mybatis-3-0-4-3-0-6-malformedparameterizedtypeexception

?

Spring 三 and MyBatis 3.0.4 / 3.0.6: MalformedParameterizedTypeException?看后顿然醒悟,原来自己”二二“地搞错了版本,解决方案,把mybatis的版本从3.0.4改成更高一点版本3.0.6便可:

<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.0.6</version></dependency>
?

总结:问题不是很严重,只怪自己太小白,因为问题太简单了,别人都没出现这种”二“不能在“二”的低级错误,故写这篇文章来取消自己一下!

1 楼 makemyownlife 2012-04-01   有问题 才有收获

热点排行