求教~~
代码如下
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)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
比你们想象得简单
#FFFFFF;background-color:#000000;">:wildfly-10.0.0.FinalCJ$lsmodules/system/layers/base/com/fasterxml/jackson/core/jackson-databind/main/
#FFFFFF;background-color:#000000;">jackson-databind-2.5.4.jarmodule.xml
因为wildfly10自带了fasterxml的几个module而且版本不太高;
com.fasterxml.jackson.databind.SerializationConfig.withDefaultPrettyPrinter(Lcom/fasterxml/jackson/core/PrettyPrinter;)Lcom/fasterxml/jackson/databind/SerializationConfig;这个方法自从2.6以后才引入
将该module升级至2.6+即可解决。
谢谢是不是jar包用错版本,然后相关依赖的jar没有相应的跟上。那就是jar版本问题而且也不是classnotfound,类已经有了,但wildfly说“方法不存在”不应该,同一个jar,部署在tomcat上就正常那就是 wildfly里也存在一个 XmlMapper类,注意看你import的是哪一个当然是import了jackson的,你看第一行错误信息,它是说找不到下面这个方法com.fasterxml.jackson.databind.SerializationConfig.withDefaultPrettyPrinter()是同一个war,放到Tomcat里正常,部署到WildFly就这样了题主解决了没有,我也遇到这个恶心的问题了。 我也是,这是什么导致的啊!!!我在tomcat下也有这个问题!!