Spring Sleuth and Zipkin:Could not find artifact io.zipkin.brave:brave-bom:pom:4.16.3-SNAPSHOT
Asked Answered
S

2

5

I have a Spring Boot 2.0.0 REST service where I'm trying to enable Sleuth and Zipkin to send traces to my localhost Zipkin server.

The app worked fine unti I add the two dependencies spring-cloud-starter-sleuth and spring-cloud-sleuth-zipkin to my pom.xml. Once I did that, I'm now getting a compilation error:

Project build error: Non-resolvable import POM: Could not find artifact io.zipkin.brave:brave-bom:pom:4.16.3-SNAPSHOT

I've ensured it's not a corrupt Maven package issue by deleting my .m2 folder and updating (twice).

Why am I getting this error and how can I fix it?

This is my pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>io.urig</groupId>
    <artifactId>inventory</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>inventory</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.M8</spring-cloud.version>
        <sleuth.version>2.0.0.M8</sleuth.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.retry</groupId>
            <artifactId>spring-retry</artifactId>
        </dependency>
        <!-- Sleuth automatically adds trace interceptors when in the classpath -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>
        <!-- Sends trace data to zipkin over http (defaults to http://localhost:9411/api/v2/spans) -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-sleuth-zipkin</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <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-sleuth</artifactId>
                <version>${sleuth.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/libs-milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
</project>
Sylph answered 10/3, 2018 at 17:11 Comment(0)
F
6

This is really strange because you are using latest relase and in the GitHub spring-cloud-sleuth depends to <brave.version>4.17.2</brave.version>. And I think 4.16.3-SNAPSHOT version is not exists in the maven repo. (just checked 2.0.0.M8 depends to this version)

If you change to <sleuth.version>2.0.0.M7</sleuth.version> it does find the required dependencies.

https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/pom.xml

Forestation answered 10/3, 2018 at 17:47 Comment(2)
@Sylph Marcin says it is fixed in M9Forestation
Marking this as accepted because it was the earlier answer and because M9 is not yet available in the Spring milestones repo.Sylph
W
2

The M8 for sleuth was broken. That issue will be fixed in M9.

You can use M8 but you have to explicitly change the brave version to some release one.

Woodrum answered 10/3, 2018 at 18:24 Comment(1)
I've changed is fixed to will be fixed. I like the currently accepted answer!Woodrum

© 2022 - 2024 — McMap. All rights reserved.