我在我的项目和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
注释。
-
依赖关系:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka- client</artifactId> </dependency>
-
依赖项标签外:
<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