奇怪的sbt错误,由于键与自己碰撞,我无法导入sbt项目

2022-09-01 02:49:46

在IntelliJ中更改我的文件后,我得到了这个奇怪的错误报告,其中似乎“键”(我甚至不知道这些键是什么)与它们自己相冲突。研究此错误消息只会发现github拉取请求,其中人们请求库维护者为其密钥添加前缀以避免密钥冲突。这些内置的IntelliJ密钥如何与自身发生冲突?这是没有道理的。以下是堆栈跟踪的摘录:build.sbt

java.lang.RuntimeException: Some keys were defined with the same name but different types: 
'ssExtractBuild' (sbt.Task[org.jetbrains.sbt.structure.BuildData], sbt.Task[org.jetbrains.sbt.structure.BuildData]), 
'settingData' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.SettingData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.SettingData]]), 
'taskData' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.TaskData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.TaskData]]), 
'extractStructure' (sbt.Task[org.jetbrains.sbt.structure.StructureData], sbt.Task[org.jetbrains.sbt.structure.StructureData]), 
'ssExtractDependencies' (sbt.Task[org.jetbrains.sbt.structure.DependencyData], sbt.Task[org.jetbrains.sbt.structure.DependencyData]), 
'ssExtractProjects' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.ProjectData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.ProjectData]]), 
'ssExtractAndroid' (sbt.Task[scala.Option[org.jetbrains.sbt.structure.AndroidData]], sbt.Task[scala.Option[org.jetbrains.sbt.structure.AndroidData]]), 
'ssExtractRepository' (sbt.Task[scala.Option[org.jetbrains.sbt.structure.RepositoryData]], sbt.Task[scala.Option[org.jetbrains.sbt.structure.RepositoryData]]), 
'ssOptions' (org.jetbrains.sbt.Options, org.jetbrains.sbt.Options), 
'commandData' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.CommandData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.CommandData]]), 
'ssExtractProject' (sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.ProjectData]], sbt.Task[scala.collection.Seq[org.jetbrains.sbt.structure.ProjectData]]), 
'ssExtractPlay2' (sbt.Task[scala.Option[org.jetbrains.sbt.structure.Play2Data]], sbt.Task[scala.Option[org.jetbrains.sbt.structure.Play2Data]])

完整的堆栈跟踪在这里:https://pastebin.com/ymZvgMCj

这发生在我向我的.起初我以为这是问题所在,并尝试将其删除,但现在我的状态甚至无法在以前的状态下工作!我已经清除了 intellij 的缓存,重新启动,完全删除了该项目中的文件夹,并将整个项目本身重新导入 intellij,我仍然有同样的问题。从我上次更改我的到现在会发生什么会像这样破坏项目?build.sbtbuild.sbt.ideabuild.sbt


答案 1

转到(G)

Preference -> Build, Execution, Deployment 
                  -> SBT 
                      -> check "Use SBT shell for build and import" 
                           -> Press OK

您现在可以刷新 SBT 项目,它应该可以正常工作。如果需要,您可以取消选中“使用SBT shell进行构建和导入”,它也可以正常工作


答案 2

我也遇到了同样的问题,我通过nuking和重新安装IntelliJ来“修复”它。

Intellij 版本: IntelliJ IDEA 2017.2.5 Build #IU-172.4343.14 Scala Plugin 版本: 2017.2.13

不起作用的步骤

  • 切换 git 分支
  • 使缓存失效/重新启动
  • 删除 .idea 目录和重新导入
  • 将 SBT 配置更改为不使用捆绑的 jar

推荐