【问题标题】:EnableEurekaClient import doesn't existEnableEurekaClient 导入不存在
【发布时间】:2021-09-17 22:57:13
【问题描述】:

我添加了 spring-cloud-starter-netflix-eureka-client gradle 依赖 我的项目并拒绝依赖。但是当去使用 @EnableEurekaClient 在我的 Main 类中它向我展示了创建建议 @EnableEurekaClient 注释。不显示任何eureka的导入文件 客户。

Unresolved reference: EnableEurekaClient

productserviceApplication.kt

  package com.main.productservice
    
    import org.springframework.boot.autoconfigure.SpringBootApplication
    import org.springframework.boot.runApplication
    
    @SpringBootApplication
    @EnableEurekaClient
    class ProductServiceApplication
    
    fun main(args: Array<String>) {
        runApplication<ProductServiceApplication>(*args)
    }

gradle.kt

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("org.springframework.boot") version "2.5.2"
    id("io.spring.dependency-management") version "1.0.11.RELEASE"
    kotlin("jvm") version "1.5.20"
    kotlin("plugin.spring") version "1.5.20"
}

group = "com.main"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_11

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-data-mongodb")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.

    kotlin:kotlin-reflect")
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
        implementation("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client")
        testImplementation("org.springframework.boot:spring-boot-starter-test")
    }
    
    tasks.withType<KotlinCompile> {
        kotlinOptions {
            freeCompilerArgs = listOf("-Xjsr305=strict")
            jvmTarget = "11"
        }
    }
    
    tasks.withType<Test> {
        useJUnitPlatform()
    }

@EnableEurekaClient 出现错误

【问题讨论】:

    标签: spring-boot kotlin spring-cloud netflix-eureka spring-cloud-netflix


    【解决方案1】:

    确保在 Gradle 构建定义中导入 Spring Cloud BOM:

    extra["springCloudVersion"] = "2020.0.3"
    
    dependencyManagement {
        imports {
            mavenBom("org.springframework.cloud:spring-cloud-dependencies:${property("springCloudVersion")}")
        }
    }
    

    EnableEurekaClient 注释在包org.springframework.cloud.netflix.eureka 中。您应该将以下导入添加到您的主应用程序文件中:

    import org.springframework.cloud.netflix.eureka.EnableEurekaClient
    

    【讨论】:

      【解决方案2】:

      @EnableEurekaClient 已被弃用,无需在 springboot 主应用程序中注释如果我们在 pom 中添加 spring-cloud-starter-netflix-eureka-client 依赖项并且如果我们在 yml 或属性文件中有应用程序名称,它将是注册到 Eureka Server

      【讨论】:

        猜你喜欢
        • 2016-03-04
        • 2015-11-05
        • 2019-06-04
        • 2013-05-06
        • 1970-01-01
        • 2021-03-05
        • 2015-01-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多