我找到了http://stackoverflow.com/questions/38129930/jackson-partial-working-cannot-return-listobject-or-collectionobject这个问题,我有兴趣找到解决问题的答案:
11:28:26,333 ERROR [io.undertow.request](默认任务-11)UT005023:对/ Spring4MVCAngularJSExample / user /:org.springframework.web.util.NestedServletException的异常处理请求:处理程序调度失败;嵌套异常是java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.ObjectWriter.forType(Lcom / fasterxml / jackson / databind / JavaType;)Lcom / fasterxml / jackson / databind / ObjectWriter; 在org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978)[spring-webmvc-4.3.1.RELEASE.jar:4.3.1.RELEASE] 在org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)[spring-webmvc-4.3.1.RELEASE.jar:4.3.1.RELEASE]> 在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)[spring-webmvc-4.3.1.RELEASE.jar:4.3.1.RELEASE] 在org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)[spring-webmvc-4.3.1.RELEASE.jar:4.3.1.RELEASE] 在javax.servlet.http.HttpServlet.service(HttpServlet.java:687)[jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] 在org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)[spring-webmvc-4.3.1.RELEASE.jar:4.3.1.RELEASE] 在javax.servlet.http.HttpServlet.service(HttpServlet.java:790)[jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] ...
在我的情况下,当我在WildFly(8.x)服务器上使用WAR时,它会出现在Spring REST API中,但Tomcat(8.5)服务器上的相同WAR工作正常。 我仍然试图找到一个解决方案,以便它也可以在WildFly服务器上运行。
请注意,我正在关注教程spring-mvc-4-angularjs-example,但最初通过Eclipse安装了WildFly(8.x)服务器。
我还修改了 POM.xml 依赖项,如下所示,希望解决Jackson依赖问题:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<springframework.version>4.3.1.RELEASE</springframework.version>
<jackson.version>2.7.5</jackson.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springframework.version}</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
如果有人有想法,我全都听见了。
答案 0 :(得分:0)
你应该在wildfly服务器内做一件事
\ wildfly-8.2.0.Final \模块\ SYSTEM \层\基\ COM \ fasterxml \杰克逊\芯 然后进入内部检查你的jar版本它应该是2.8或更高的所有核心库。 杰克逊的注解 - 2.8.0.jar 杰克逊核心2.8.3.jar 杰克逊 - 数据绑定-2.8.3.jar
并更改所有jar.xml版本映射到module.xml内的最新版本名称,如下所示