简体   繁体   English

Spring Sleuth和Zipkin:找不到神器io.zipkin.brave:brave-bom:pom:4.16.3-SNAPSHOT

[英]Spring Sleuth and Zipkin:Could not find artifact io.zipkin.brave:brave-bom:pom:4.16.3-SNAPSHOT

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. 我有一个Spring Boot 2.0.0 REST服务,我试图让Sleuth和Zipkin将踪迹发送到我的localhost Zipkin服务器。

The app worked fine unti I add the two dependencies spring-cloud-starter-sleuth and spring-cloud-sleuth-zipkin to my pom.xml. 该应用程序运行良好,我将两个依赖项spring-cloud-starter-sleuthspring-cloud-sleuth-zipkin到我的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 项目构建错误:不可解析的导入POM:找不到工件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). 通过删除我的.m2文件夹并更新(两次),我确保它不是一个损坏的Maven包问题。

Why am I getting this error and how can I fix it? 为什么我会收到此错误,如何解决?

This is my pom.xml: 这是我的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>

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> . 这真的很奇怪,因为你正在使用最新的版本,而在GitHub中,spring-cloud- <brave.version>4.17.2</brave.version>依赖于<brave.version>4.17.2</brave.version> And I think 4.16.3-SNAPSHOT version is not exists in the maven repo. 而且我认为maven repo中不存在4.16.3-SNAPSHOT版本。 (just checked 2.0.0.M8 depends to this version) (刚检查过2.0.0.M8取决于此版本)

If you change to <sleuth.version>2.0.0.M7</sleuth.version> it does find the required dependencies. 如果您更改为<sleuth.version>2.0.0.M7</sleuth.version>它确实找到所需的依赖项。

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

The M8 for sleuth was broken. 侦探的M8被打破了。 That issue will be fixed in M9. 该问题将在M9中修复。

You can use M8 but you have to explicitly change the brave version to some release one. 您可以使用M8,但必须明确地将勇敢版本更改为某个版本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM