请问Jackson的XmlMapper为什么在Wildfly下不能工作?

发布于 2021-12-01 20:47:21 字数 1271 浏览 939 评论 12

求教~~

代码如下

try
{
    XmlMapper xmlMapper = new XmlMapper();
    return xmlMapper.writeValueAsString(object);
} catch(JsonProcessingException e)
{
    e.printStackTrace(); return null;
}

在Tomcat下正常,在WildFly下报错

16:05:40,231 ERROR [stderr] (ServerService Thread Pool -- 28) Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.SerializationConfig.withDefaultPrettyPrinter(Lcom/fasterxml/jackson/core/PrettyPrinter;)Lcom/fasterxml/jackson/databind/SerializationConfig;
16:05:40,231 ERROR [stderr] (ServerService Thread Pool -- 28) 	at com.fasterxml.jackson.dataformat.xml.XmlMapper.<init>(XmlMapper.java:86)
16:05:40,231 ERROR [stderr] (ServerService Thread Pool -- 28) 	at com.fasterxml.jackson.dataformat.xml.XmlMapper.<init>(XmlMapper.java:67)
16:05:40,231 ERROR [stderr] (ServerService Thread Pool -- 28) 	at com.fasterxml.jackson.dataformat.xml.XmlMapper.<init>(XmlMapper.java:49)
16:05:40,231 ERROR [stderr] (ServerService Thread Pool -- 28) 	at cn.sel.cap_demo.plugin.XmlViewer1.<init>(XmlViewer1.java:10)



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

孤独患者 2021-12-03 20:57:52

我这发现的是版本不一样  照成的

丢了幸福的猪 2021-12-03 20:57:31

引用来自“小权丶”的评论

题主解决了没有, 我也遇到这个恶心的问题了。 

明媚如初 2021-12-03 20:55:01

我也是, 这是什么导致的啊!!! 我在tomcat下也有这个问题!!

醉生梦死 2021-12-03 20:54:45

题主解决了没有, 我也遇到这个恶心的问题了。 

猫九 2021-12-03 20:40:15

当然是import了jackson的,你看第一行错误信息,它是说找不到下面这个方法com.fasterxml.jackson.databind.SerializationConfig.withDefaultPrettyPrinter() 是同一个war,放到Tomcat里正常,部署到WildFly就这样了

孤檠 2021-12-03 20:07:22

那就是 wildfly里也存在一个
XmlMapper类,注意看你import的是哪一个

多彩岁月 2021-12-03 19:26:10

不应该,同一个jar,部署在tomcat上就正常

剑心龙吟 2021-12-03 18:23:24

而且也不是class not found,类已经有了,但wildfly说“方法不存在”

风柔一江水 2021-12-03 18:02:41

那就是jar版本问题

如日中天 2021-12-03 15:51:19

是不是jar包用错版本,然后相关依赖的jar没有相应的跟上。

温柔少女心 2021-12-03 14:00:53

谢谢

月亮是我掰弯的 2021-12-03 12:35:17

比你们想象得简单

#FFFFFF;background-color:#000000;">:wildfly-10.0.0.Final CJ$ ls modules/system/layers/base/com/fasterxml/jackson/core/jackson-databind/main/

#FFFFFF;background-color:#000000;">jackson-databind-2.5.4.jar module.xml 

因为wildfly 10自带了fasterxml的几个module而且版本不太高;

com.fasterxml.jackson.databind.SerializationConfig.withDefaultPrettyPrinter(Lcom/fasterxml/jackson/core/PrettyPrinter;)Lcom/fasterxml/jackson/databind/SerializationConfig;这个方法自从2.6以后才引入

将该module升级至2.6+即可解决。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文