Spring boot 如何修复类型不匹配:@extendedwith(SpringExtension::class)KClass->;在intelij上课?

Spring boot 如何修复类型不匹配:@extendedwith(SpringExtension::class)KClass->;在intelij上课?,spring-boot,intellij-idea,kotlin,junit5,Spring Boot,Intellij Idea,Kotlin,Junit5,我正在使用intellij community 2018.2和gradle 4.9以及kotlin 1.2.60 我刚刚从start.spring.io下载了一个springboot2包,它支持kotlin/gradle+web+h2+jpa。我正在学习春季的官方教程 gradlebuild和gradletest都可以在命令行中正常工作 但在intellij中,我从IDE中得到以下错误: Error:(9, 13) Kotlin: Type mismatch: inferred type is

我正在使用intellij community 2018.2和gradle 4.9以及kotlin 1.2.60

我刚刚从start.spring.io下载了一个springboot2包,它支持kotlin/gradle+web+h2+jpa。我正在学习春季的官方教程

gradlebuild
gradletest
都可以在命令行中正常工作

但在intellij中,我从IDE中得到以下错误:

Error:(9, 13) Kotlin: Type mismatch: inferred type is    KClass<SpringExtension> but Class was expected

package org.ninrod.blog.blog

import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.test.context.junit.jupiter.SpringExtension

@ExtendWith(SpringExtension::class) <-- RIGHT HERE
@SpringBootTest
class BlogApplicationTests {
    @Test
    fun contextLoads() {
    } 
}
错误:(9,13)Kotlin:类型不匹配:推断的类型是KClass,但应为类
包org.ninrod.blog.blog
导入org.junit.jupiter.api.Test
导入org.junit.jupiter.api.extension.extensedWith
导入org.springframework.boot.test.context.SpringBootTest
导入org.springframework.test.context.junit.jupiter.SpringExtension

@ExtendWith(SpringExtension::class)您所拥有的是正确的。我无法重现下面屏幕截图中显示的错误。我可以毫无问题地运行你的测试。所以这是一个错误。您可以通过Gradle在IDEA中或在命令提示符下确认项目构建来验证这一点

请尝试以下操作:

  • 在渐变工具窗口中,单击“刷新所有渐变项目”按钮
    • 从我所看到的和我的经验来看,我不认为这能解决问题。但这是一个快速的打击,值得一试
  • IntelliJ IDEA缓存可能已损坏。转到*文件>使缓存无效/重新启动*。在对话框窗口中,单击“失效并重新启动”。IDEA重新启动并打开项目后,等待它完成对项目的重新索引(查看底部的进度)。完成重新索引后,查看问题是否得到解决。
    • 我怀疑这会解决问题
  • 如果上述操作不起作用,则可能是配置不正确。尝试重新创建创意项目。关闭项目,删除(或归档)
    .idea
    目录和任何
    *.iml
    文件。然后通过选择
    build.gradle
    文件导入项目。如果您对此不熟悉,请观看IntelliJ上的“”视频
  • 最后,确保您运行的是两周前发布的IntelliJ IDEA(v2018.2)的最新版本。这就是我正在运行的。您使用了很多最新和最好的技术(JUnit5、Kotlin、SpringBoot2.x和Spring5.x),因此旧版本的IDEA可能会有问题。最后,即使您为我工作过,我还是建议您在gradle.properties中升级到最新版本的Kotlin(v1.2.60)
  • 我没有得到错误,可以运行测试:

    好吧,我完全卸载了关于java的所有内容,然后我从零开始安装了所有内容,删除了所有配置,所有内容。然后它成功了。

    奇怪的是,我执行了所有4个步骤,但仍然得到了错误。同样奇怪的是,我可以从IDE运行测试,但我还是得到了编译错误。我在intellij问题跟踪器中填充了一个bug: