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>
我当时的报错信息大概是这样的
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>
上一篇: JPA的视图查询(转)