Intellij 问题解决 spring kotlin 的依赖

Bri*_*6ko 11 spring intellij-idea kotlin spring-boot

Intellij 给了我全新的 kotlin/spring 项目错误,我无法从 IDE 构建或运行该项目。

但是,如果我从命令行执行此操作,则没有问题,我可以构建和运行该应用程序。

构建.gradle

'classpath' in 'org.gradle.api.artifacts.dsl.DependencyHandler' cannot be applied to '(groovy.lang.GString)'
'apply' in 'org.gradle.api.plugins.PluginAware' cannot be applied to '(['plugin':java.lang.String])'
Run Code Online (Sandbox Code Playgroud)

控制器

Cannot access class 'java.lang.String'. Check your module classpath for missing or conflicting dependencie

Type mismatch.
Required:
java.lang.String
Found:
kotlin.String
Run Code Online (Sandbox Code Playgroud)

对可能是什么问题的任何想法?我在 InteliJ 中尝试了Kotlin 多平台 JVM 类型不匹配,但似乎没有解决问题。

更新:

清除 gradle 缓存,重新安装 Intellij,导入从 start.spring.io 创建的项目,并选择 Gradle 和 Kotlin。

使用默认的 gradle 包装器和项目 jdk(路径说 jre)?给我一个错误。打开 gradle 设置只是打开文件资源管理器。

在此处输入图片说明

使用默认的 gradle 包装器和机器本地 JDK 与上面的依赖项相同的问题。

and*_*ras 8

如果您在 IntelliJ 中设置自己的模块,并且您认为由于您正在执行 Kotlin (Maven) 项目,则应将 SDK 设置为 Kotlin,则会出现此问题。错误的!

问题显示在第一张图片中。项目 SDK 设置为 Kotlin。

Kotlin 作为项目 SDK 编译器

将其更改为 Java。可能任何 8+ 的 Java 就足够了。

Java作为项目SDK编译器

这也解决了 IDE 错误和编译器错误。


Tob*_*bia 1

取消设置KOTLIN_HOME以及您的环境中可能有的其他与 Kotlin 或 Java 相关的设置(env用于检查、unset NAME取消设置。)

然后终止任何仍在运行的 Gradle 守护进程 ( pkill -f GradleDaemon) 并从终端测试您的 Gradle 构建。如果一切顺利,删除该.idea目录;重新启动 IDEA,确保在没有杂散环境变量的情况下运行它(例如,idea.sh从取消设置它们的终端启动);并重新导入您的项目,并选择使用默认的 Gradle 包装器。

如果您需要使用独立的 Kotlin 版本(例如通过 SDKMAN 安装),请考虑将 SDKMAN 激活行从 shell 初始化文件(.bashrc对于 Bash)中取出并放入独立脚本(例如,~/bin/sdkman)中,该脚本也会更改您的 shell 提示符(PS1在 Bash 中) )提醒您已进入 SDKMAN 管理的 CLI 会话。