赞
踩
在maven项目中测试代码的时候,碰到java.lang.IllegalArgumentException异常:
严重: Servlet.service() for servlet [e3-manager] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class cn.e3mall.pojo.TbItem] with root cause java.lang.IllegalArgumentException: No converter found for return value of type: class cn.e3mall.pojo.TbItem at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:178) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:153) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:165) at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:80) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:126) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) |
问题原因:是因为springmvc默认是没有对象转换成json的转换器的,需要手动添加jackson依赖,而maven中的json的 jar 包没有加载到项目中去,导致这个异常出现
解决方法:
在web的pom.xml中添加以下依赖
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>2.8.5</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.8.5</version>
- </dependency>
默认把json的jar包添加到项目中。
but 添加之后,我的整个web项目都报错了,这就很尴尬,
还好有大神指点,找到我的maven中的settings.xml文件,添加国内镜像(因为maven默认的是国外的镜像)
- <mirror>
- <id>cn_central</id>
- <name>cn_central</name>
- <mirrorOf>central</mirrorOf>
- <url>http://repo1.maven.org/maven2/</url>
- </mirror>
然后再在web中pom.xml文件中,按住Ctrl键,点击鼠标左键,就会有链接:
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>2.8.5</version>
- </dependency>
说明配置好了(真的是不容易啊)
注:如果maven更新的太慢,可以打开网页,输入“鸠摩智”就会变快,很神奇!!!
测试运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。