java.lang.IllegalArgumentException异常解决

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zq123lcx/article/details/80896928

在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)

eclipse运行异常截图:

    问题原因:是因为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更新的太慢,可以打开网页,输入“鸠摩智”就会变快,很神奇!!!

测试运行结果:



猜你喜欢

转载自blog.csdn.net/zq123lcx/article/details/80896928