欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jboss wildfly jackson 包冲突(转)

程序员文章站 2022-07-11 11:59:42
...
一般java web项目第一次在jboss上发布的时候会遇到elasticsearch的jackson包和jboss的jackson包因为版本冲突,导致发布失败。

我当时的报错信息大概是这样的

Java代码  收藏代码
ERROR [io.undertow.request] (default task-5) UT005023: Exception handling request to /cmall-admin-web/order/queryForPage.htm: org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.common.xcontent.smile.SmileXContent 
遇到这种情况,你可以尝试按照下面的方法修改后再发布:

1、首先在web项目中的WEB-INF目录下新建一个jboss-deployment-structure.xml文件

Java代码  收藏代码
<?xml version="1.0" encoding="UTF-8" ?> 
<jboss-deployment-structure> 
    <deployment> 
        <!-- Exclusions allow you to prevent the server from automatically adding some dependencies --> 
        <!-- 主要作用就是将应用的日志输出到自己设定目录,而不是输出到wildfly的server.log里面 --> 
        <exclusions> 
            <module name="org.slf4j" /> 
            <module name="org.slf4j.impl" /> 
             
            <!-- 解决es的jackson包与其他jar包中的jackson冲突问题 --> 
            <module name="com.fasterxml"/> 
            <module name="org.jboss.resteasy.resteasy-jackson2-provider" /> 
        </exclusions> 
    </deployment> 
</jboss-deployment-structure> 
2、在pom.xml中添加jackson-core的jar包

Java代码  收藏代码
<!-- 解决es的jackson包与其他jar包中的jackson冲突问题 --> 
<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-core</artifactId> 
    <version>2.6.6</version> 
</dependency>