jackson java.lang.NoClassDefFoundError

jackson java.lang.NoClassDefFoundError

场景 :
使用jackson解析json字符串转为pojo对象


import com.fasterxml.jackson.dataformat.xml.XmlMapper;


String xml ="SJHL01Svc_ProvisionRetSJHL012018080900581956452018080900582500266905acba6fb790bf6fe9ef2582636c6581810f9439e14d6963217f8027859130000处理成功2000000022012604";

 XmlMapper xmlMapper = new XmlMapper(); 				// 这里拿取 com.fasterxml.jackson.dataformat 包的对象无法获取类信息
        Map map = xmlMapper.readValue(xmlss, Map.class);
        System.out.println(map);

编译通过,但是在JVM运行的时候 无法找到这个类

报错信息如下 :


java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/util/JacksonFeature

	at com.fasterxml.jackson.dataformat.xml.XmlMapper.<init>(XmlMapper.java:155)
	at com.fasterxml.jackson.dataformat.xml.XmlMapper.<init>(XmlMapper.java:144)
	at com.fasterxml.jackson.dataformat.xml.XmlMapper.<init>(XmlMapper.java:126)
	at com.dcits.sz.Map2Xml.test33(Map2Xml.java:499)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

当时依赖的jar包


        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-databindartifactId>
            <version>2.12.3version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-xmlartifactId>
            <version>2.12.3version>
        dependency>

解决方案 : 更换 pom 依赖 ,为 框架版本锁定的版本


        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-databindartifactId>
        dependency>
        
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-xmlartifactId>
        dependency>

你可能感兴趣的:(java,开发语言,后端)