我添加了 spring-cloud-starter-netflix-eureka-client gradle 依赖项 我的项目并消除依赖性。但是当去使用 @EnableEurekaClient 在我的主类中它向我显示建议创建 @EnableEurekaClient 注解。不显示任何eureka的导入文件 客户。
Unresolved reference: EnableEurekaClient
产品服务应用程序.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
确保在 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
如果您是最新版本,请使用 @EnableDiscoveryClient 代替 @EnableEurekaClient 在主文件中