启用尤里卡客户端导入不存在



我在我的项目和shrik的depedency。但使用时@在我的Main类中启用EurekaClient,它向我显示建议创建@EnableEurekaClient注释。不显示尤里卡的任何导入文件客户

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 出现错误

@EnableEurekaClient已弃用,无需对主类进行注释。将spring-cloud-starter-netflix-eureka-client依赖项添加到pom.xml就足够了,如果我们在yml或属性文件中有应用程序名称,它将注册到Eureka Server。

这是版本2022.0.1的错误,在此版本中,您需要使用@EnableDiscoveryClient或使用版本2020.0.3用于@EnableEurekaClient

如果您是最新版本,请使用@EnableDiscoveryClient代替主文件中的@EnableEurekaClient

如果您使用的是最新版本的Spring引导,那么请在Spring引导应用程序上使用@EnableDiscoveryClient注释。

  1. 依赖关系:

    <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka- client</artifactId> </dependency>

  2. 依赖项标签外:

    <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> </dependencies> </dependencyManagement>

3.In Properties标签:

<spring-cloud.version>2022.0.4</spring-cloud.version>

确保在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

最新更新