在WildFly服务器

时间:2016-08-23 10:13:30

标签: spring-mvc jackson wildfly

我找到了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>

如果有人有想法,我全都听见了。

1 个答案:

答案 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内的最新版本名称,如下所示