2017-09-28 33 views
0

这似乎是很简单的实现特定于云流项目仅有2库,但我得到
java.lang.ClassNotFoundException: org.springframework.integration.support.converter.ConfigurableCompositeMessageConverter春季启动:春季云溪卡夫卡实施

所有项目的依赖关系是:

compile(
    "org.springframework.boot:spring-boot-starter-web", 
    "org.springframework.boot:spring-boot-starter-actuator", 
    "org.springframework.boot:spring-boot-starter-data-rest", 
    "org.springframework.boot:spring-boot-starter-data-jpa", 
    "org.springframework.boot:spring-boot-starter-security", 
    "org.springframework.boot:spring-boot-starter-amqp", 
    "org.springframework.cloud:spring-cloud-stream", 
    "org.springframework.cloud:spring-cloud-starter-stream-kafka", 
    "org.postgresql:postgresql:9.4.1212.jre7", 
    "org.projectlombok:lombok:1.16.14", 
    "io.jsonwebtoken:jjwt:0.7.0", 
    "org.flywaydb:flyway-core:4.2.0" 
    ) 

云流配置:

spring.application.name=services 
spring.stream.bindings.output.destination=appTopic 
spring.stream.bindings.output.content-type=application/json 
spring.stream.bindings.kafka.binder.zkNodes=${HOST} 
spring.stream.bindings.kafka.binder.brokers=${HOST} 

完整build.grad乐:

buildscript { 
    repositories { 
     mavenCentral() 
     maven { 
      url "https://plugins.gradle.org/m2/" 
     } 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE") 
     classpath "gradle.plugin.com.boxfuse.client:flyway-release:4.2.0" 
     classpath "io.spring.gradle:dependency-management-plugin:0.5.2.RELEASE" 
    } 
} 

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'idea' 
apply plugin: 'org.springframework.boot' 
apply plugin: 'org.flywaydb.flyway' 
apply plugin: "io.spring.dependency-management" 

ext { 
    springBootVersion = '1.5.2.RELEASE' 
} 

jar { 
    baseName = 'rest' 
    version = '0.1' 
} 

repositories { 
    mavenCentral() 
} 

dependencyManagement { 
    imports { 
      mavenBom 'org.springframework.cloud:spring-cloud-stream-dependencies:Elmhurst.BUILD-SNAPSHOT' 
    } 
} 

sourceCompatibility = 1.8 
targetCompatibility = 1.8 

dependencies { 
    compile(
    "org.springframework.boot:spring-boot-starter-web", 
    "org.springframework.boot:spring-boot-starter-actuator", 
    "org.springframework.boot:spring-boot-starter-data-rest", 
    "org.springframework.boot:spring-boot-starter-data-jpa", 
    "org.springframework.boot:spring-boot-starter-security", 
    "org.springframework.boot:spring-boot-starter-amqp", 
    "org.springframework.cloud:spring-cloud-stream", 
    "org.springframework.cloud:spring-cloud-starter-stream-kafka", 
    "org.springframework.integration:spring-integration-core", 
    "org.postgresql:postgresql:9.4.1212.jre7", 
    "org.projectlombok:lombok:1.16.14", 
    "io.jsonwebtoken:jjwt:0.7.0", 
    "org.flywaydb:flyway-core:4.2.0" 
    ) 
    testCompile(
    "org.springframework.boot:spring-boot-starter-test", 
    "com.jayway.jsonpath:json-path", 
    "org.flywaydb.flyway-test-extensions:flyway-spring-test:4.2.0", 
    "io.rest-assured:rest-assured:3.0.3" 
    ) 
} 
repositories { 
    maven { 
     url 'https://repo.spring.io/libs-snapshot' 
    } 
} 

回答

0

您似乎有不匹配的版本ConfigurableCompositeMessageConverter是Spring Integration 5.0中的新类。

你使用的是什么启动版本?什么春季云流版本?

Spring Cloud Stream目前不兼容Spring Boot 2.0快照(如果这是您正在使用的)。

+0

我正在使用'springBootVersion ='1.5.2.RELEASE'' –

+1

它看起来像流版本太新了。它应该是1.2.x. –

0

org.springframework.integration.support.converter.ConfigurableCompositeMessageConverter是从Spring集成5.0

/** 
* A {@link CompositeMessageConverter} extension with some default {@link MessageConverter}s 
* which can be overridden with the given converters 
* or added in the end of target {@code converters} collection. 
* <p> 
* The default converts are (declared exactly in this order): 
* <ul> 
* <li> {@link MappingJackson2MessageConverter} if Jackson processor is present in classpath; 
* <li> {@link ByteArrayMessageConverter} 
* <li> {@link ObjectStringMessageConverter} 
* <li> {@link GenericMessageConverter} 
* </ul> 
* 
* @author Artem Bilan 
* 
* @since 5.0 
*/ 
public class ConfigurableCompositeMessageConverter extends CompositeMessageConverter { 

你应该确保在你的应用程序中使用兼容的版本。

+0

如何确保我使用的是兼容版本? –

+0

遵循Spring Boot的建议。例如http://start.spring.io/。可以选择'Stream Rabbit'或'Stream Kafka'--并且Spring Boot会为您提供相应的版本。你不能在Boot 1.5.x下使用基于Spring 5的项目 –