Spring Boot Kotlin教程中IntelliJ提示TestEntityManager不存在
解决IntelliJ IDEA中Spring Boot Kotlin项目的无意义红色高亮问题
严格按照Spring Boot Kotlin官方教程操作后,项目实际运行、测试均正常,但IntelliJ IDEA内代码出现红色高亮报错(截图显示代码存在错误提示)。使用Java 11,项目依赖与插件配置如下:
dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-mustache") 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") developmentOnly("org.springframework.boot:spring-boot-devtools") runtimeOnly("com.h2database:h2") testImplementation("org.springframework.boot:spring-boot-starter-test") } plugins { id("org.springframework.boot") version "2.7.1" id("io.spring.dependency-management") version "1.0.11.RELEASE" kotlin("jvm") version "1.6.21" kotlin("plugin.spring") version "1.6.21" kotlin("plugin.jpa") version "1.6.21" kotlin("plugin.allopen") version "1.4.32" } tasks.withType<KotlinCompile> { kotlinOptions { freeCompilerArgs = listOf("-Xjsr305=strict") jvmTarget = "11" } } tasks.withType<Test> { useJUnitPlatform() } java.sourceCompatibility = JavaVersion.VERSION_11
以下是消除红色高亮的可行方案:
统一Kotlin插件版本:当前
kotlin("plugin.allopen")使用的1.4.32版本和其他Kotlin插件的1.6.21版本不匹配,这会导致IDE解析时出现冲突。将allopen插件版本改为1.6.21:kotlin("plugin.allopen") version "1.6.21"刷新Gradle项目:点击IDEA右侧Gradle面板的刷新按钮,或者执行
File -> Sync Project with Gradle Files,让IDE重新加载最新的依赖和插件配置。清除IDEA缓存并重启:
- 打开
File -> Invalidate Caches... - 勾选
Clear file system cache and local history选项,点击Invalidate and Restart
- 打开
匹配IDE与项目的Kotlin版本:检查IDEA内置的Kotlin插件版本是否和项目中使用的1.6.21一致,可通过
Settings -> Plugins -> Kotlin查看,若版本不一致则更新插件到对应版本。重启项目:关闭当前项目后重新打开,有时候IDE的临时解析异常能通过这种方式解决。
内容的提问来源于stack exchange,提问作者Fabio B.
相关产品推荐
相关产品推荐

