Intellij给我全新的Kotlin / spring项目到处都是错误,我无法从IDE构建或运行该项目。
但是,如果我从命令行执行此操作,则不会出现任何问题,并且可以构建和运行该应用程序。
'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])'
Cannot access class 'java.lang.String'. Check your module classpath for missing or conflicting dependencie
Type mismatch.
Required:
java.lang.String
Found:
kotlin.String
关于可能是什么问题的任何想法? 我尝试过Kotlin multiplatform JVM type mismatch in InteliJ,但似乎无法解决问题。
更新:
清除gradle缓存,重新安装Intellij,从start.spring.io创建并选择Gradle和Kotlin的Import项目。
使用默认的gradle包装器和项目jdk(路径表示jre)?给我一个错误。打开gradle设置只会打开文件资源管理器。
使用默认的gradle包装器和计算机本地JDK时,上面的依赖项存在相同的问题。
答案 0 :(得分:1)
取消设置KOTLIN_HOME
和您在环境中可能具有的其他与Kotlin或Java相关的设置(检查env
,取消设置unset NAME
。)
然后杀死仍在运行的任何Gradle守护进程(pkill -f GradleDaemon
)并从终端测试您的Gradle构建。如果一切顺利,请除去.idea
目录;重新启动IDEA,确保在没有杂散环境变量的情况下 运行它(例如,从您未设置它们的终端启动idea.sh
);并重新导入您的项目,并选择使用默认的Gradle包装器。
如果您需要使用独立的Kotlin版本(例如通过SDKMAN安装),请考虑将SDKMAN激活行从外壳初始化文件(对于Bash为.bashrc
)中取出,并放入独立的脚本(例如,{{1 }}),这也会更改您的shell提示符(在Bash中为~/bin/sdkman
),以提醒您您已进入SDKMAN管理的CLI会话。
答案 1 :(得分:0)