6
回答
请问Jackson的XmlMapper为什么在Wildfly下不能工作?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用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)



举报
Sel8616
发帖于2年前 6回/820阅
共有6个答案 最后回答: 1年前

比你们想象得简单

:wildfly-10.0.0.Final CJ$ ls modules/system/layers/base/com/fasterxml/jackson/core/jackson-databind/main/

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+即可解决。

--- 共有 1 条评论 ---
Sel8616谢谢 2年前 回复
是不是jar包用错版本,然后相关依赖的jar没有相应的跟上。
--- 共有 3 条评论 ---
Kylin_Shaw那就是jar版本问题 2年前 回复
Sel8616而且也不是class not found,类已经有了,但wildfly说“方法不存在” 2年前 回复
Sel8616不应该,同一个jar,部署在tomcat上就正常 2年前 回复
那就是 wildfly里也存在一个XmlMapper类,注意看你import的是哪一个
--- 共有 1 条评论 ---
Sel8616当然是import了jackson的,你看第一行错误信息,它是说找不到下面这个方法com.fasterxml.jackson.databind.SerializationConfig.withDefaultPrettyPrinter() 是同一个war,放到Tomcat里正常,部署到WildFly就这样了 2年前 回复
题主解决了没有, 我也遇到这个恶心的问题了。 
--- 共有 1 条评论 ---
Backflow我也是, 这是什么导致的啊!!! 我在tomcat下也有这个问题!! 2年前 回复

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

题主解决了没有, 我也遇到这个恶心的问题了。 
没有,或许用法不对吧。
顶部