引起:java.lang.ClassNotFoundException:org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter

时间:2016-05-27 12:41:57

标签: java spring spring-mvc spring-boot-gradle-plugin

我正在使用spring Boot.I创建了Spring boot gradle application.I出现了以下错误。

引起:java.lang.ClassNotFoundException:org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter

的build.gradle

  buildscript {
  ext {
    springBootVersion = '1.3.2.RELEASE'
}
repositories {
    mavenCentral()
}
dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.2.RELEASE") 
}
 }

 apply plugin: 'java'
 apply plugin: 'eclipse'
apply plugin: 'spring-boot' 

 jar {
   baseName = 'demo'
    version = '0.0.1-SNAPSHOT'
     }
 sourceCompatibility = 1.7
   targetCompatibility = 1.7

   repositories {
    mavenCentral()
    }


    dependencies {
compile('org.springframework.boot:spring-boot-starter-data-mongodb')
testCompile('org.springframework.boot:spring-boot-starter-test') 
compile group: 'org.springframework', name: 'spring-web', version:   '4.0.0.RELEASE'
compile group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.9.12'
compile group: 'org.codehaus.jackson', name: 'jackson-core-asl', version: '1.9.12'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.2.2'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.2.2'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations',  version: '2.2.2'
   }


   eclipse {
            classpath {
      containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
       containers   'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7'
  }
   }

   task wrapper(type: Wrapper) {
   gradleVersion = '2.9'
     }

我是否遗漏了build.gradle中的任何依赖项?

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您包含两个不同版本的jackson lib。对于Spring 4+,请使用com.fasterxml.jackson.core。删除两个org.codehaus.jackson依赖项。