Dependency Mgmt and Release Train for Spring Cloud / Stream / Spring Boot

209 Views Asked by At

this might be a very basic question, but I'm struggling to see the relationship between Spring Boot 2 Mx , Spring Cloud Finchley.x and Spring Cloud Stream Elmhurst.x. Is there any document/Readme that explains how all these versions links together?

I have a project that requires the following dependencyManagement:

  <!-- Spring Boot / Cloud / Stream dependencies -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>${spring.boot.version}</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>${spring.cloud.version}</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-stream-dependencies</artifactId>
    <version>${spring.cloud.stream.version}</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency>

And everything was working fine until yesterday, where I started getting: Caused by: java.lang.AbstractMethodError: org.springframework.cloud.stream.binder.AbstractMessageChannelBinder.createProducerMessageHandler(Lorg/springframework/cloud/stream/provisioning/ProducerDestination;Lorg/springframework/cloud/stream/binder/ProducerProperties;Lorg/springframework/messaging/MessageChannel;)Lorg/springframework/messaging/MessageHandler;

which makes me think that I have some dependency issues between those projects.

In summary, which are the versions that I should use for these "dependencies" if I want to: 1) depend on the latest snapshots 2) depend on the latest milestones

And where can I see those relationships? (in which pom.xml files)

1

There are 1 best solutions below

2
On

Snapshots are broken for the binder at the moment. We have changed the core project on the 2.0 line and we are still fixing the binders to adapt to the new APIs. You can override SCSt version to be based on M1, which is a stable version