IntelliJ无法识别Scala的build.sbt

IntelliJ无法识别Scala的build.sbt,scala,intellij-idea,ide,sbt,Scala,Intellij Idea,Ide,Sbt,我的build.sbt文件在使用IntelliJ Ultimate 2020.2.3时出现问题,无法正确获取。我使用IntelliJ向导文件>新建>项目>Scala/sbt创建了一个新的Scala sbt项目,并向buid.sbt文件添加了一个新的依赖性,但当我尝试将其导入到我的一个类文件中时,IntelliJ由于依赖性问题将不会编译我的项目 sbt工具窗口将拾取外部依赖项,但我的项目外部依赖项根本不包含库,即使在我刷新项目后也是如此。另外,我的build.sbt文件中有一系列错误,比如Inte

我的build.sbt文件在使用IntelliJ Ultimate 2020.2.3时出现问题,无法正确获取。我使用IntelliJ向导文件>新建>项目>Scala/sbt创建了一个新的Scala sbt项目,并向buid.sbt文件添加了一个新的依赖性,但当我尝试将其导入到我的一个类文件中时,IntelliJ由于依赖性问题将不会编译我的项目

sbt工具窗口将拾取外部依赖项,但我的项目外部依赖项根本不包含库,即使在我刷新项目后也是如此。另外,我的build.sbt文件中有一系列错误,比如IntelliJ无法正确识别它,但我已经安装了Scala插件,所以我不知道还能做什么

在这里您可以看到,我已经将org.slf4j依赖性添加到了我的build.sbt中;它由右侧的sbt工具窗口拾取,但不由左侧的我的项目拾取

当我将鼠标悬停在build.sbt文件中的libraryDependencies上时,它似乎无法识别sbt语法:

我无法将库导入到我的类文件中,项目无法生成:


我是Scala新手,我只是尝试创建一个基本的hello world项目,但我似乎无法克服这个令人沮丧的问题。

您可以先尝试在某个目录中手动创建一个SBT项目。单是build.sbt就足够了

然后在该目录中运行sbt,以查看sbtshell是否正常工作。尝试使用一些命令,如sbt compile、sbt和一些helloworld应用程序运行。创建helloworld应用程序时,请注意放置它的目录结构,即:src/main/scala/helloworld.scala

如果所有这些工作都可以转到IntelliJ并从那里导入/打开项目-选择build.sbt

当您从IntelliJ创建或导入SBT项目时,需要一段时间来引导所有内容并下载编译器等。只需将其保留到完成即可。当需要编译编译器时,第一次编译也是如此:

要设置示例项目,可以发出以下shell命令:

mkdir untitled
cd untitled/

echo 'name := "untitled"

version := "0.1"

scalaVersion := "2.13.3"

libraryDependencies ++= Seq(
  "org.slf4j" % "slf4j-simple" % "1.7.26",
)
' > build.sbt

mkdir -p src/main/scala/

echo 'object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("Hello World")
  }
}
' > src/main/scala/HelloWorld.scala

sbt run

如果这些步骤没有问题,则将build.sbt导入IntelliJ。

您可以先尝试在某些目录中手动创建sbt项目。单是build.sbt就足够了

然后在该目录中运行sbt,以查看sbtshell是否正常工作。尝试使用一些命令,如sbt compile、sbt和一些helloworld应用程序运行。创建helloworld应用程序时,请注意放置它的目录结构,即:src/main/scala/helloworld.scala

如果所有这些工作都可以转到IntelliJ并从那里导入/打开项目-选择build.sbt

当您从IntelliJ创建或导入SBT项目时,需要一段时间来引导所有内容并下载编译器等。只需将其保留到完成即可。当需要编译编译器时,第一次编译也是如此:

要设置示例项目,可以发出以下shell命令:

mkdir untitled
cd untitled/

echo 'name := "untitled"

version := "0.1"

scalaVersion := "2.13.3"

libraryDependencies ++= Seq(
  "org.slf4j" % "slf4j-simple" % "1.7.26",
)
' > build.sbt

mkdir -p src/main/scala/

echo 'object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("Hello World")
  }
}
' > src/main/scala/HelloWorld.scala

sbt run

如果这些步骤没有问题,那么将build.sbt导入IntelliJ。

我终于能够解决这个问题。不幸的是,我不能100%确定到底是什么解决了这个问题,但禁用一堆我没有使用的插件似乎可以解决这个问题


我怀疑它可能是Gradle插件,因为我在idea.log文件中看到了一些错误,但在重新启用Gradle插件以测试一切后,仍然无法确定。我终于能够克服这个问题。不幸的是,我不能100%确定到底是什么解决了这个问题,但禁用一堆我没有使用的插件似乎可以解决这个问题


我怀疑这可能是Gradle插件,因为我在idea.log文件中看到了一些错误,但在重新启用Gradle插件测试所有内容后,仍然无法确定是否正常工作。

idea.log Help | Show log in…?是的,我的Gradle插件的日志中有错误。在我禁用/重新启用所有不必要的插件之后,一切都开始工作了!感谢您为我指明了正确的方向。idea.log Help | Show log in…(显示登录)中是否存在任何错误/警告?是的,我的Gradle插件的日志中存在错误。在我禁用/重新启用所有不必要的插件之后,一切都开始工作了!谢谢你给我指出了正确的方向。谢谢你的回答。我确实试过了,但我还是有同样的问题。对我来说,解决这个问题的办法是禁用所有不必要的插件并重新启用。那似乎有效谢谢你的回答。我确实试过了,但我还是有同样的问题。对我来说,解决这个问题的办法是禁用所有不必要的插件并重新启用。这似乎对我来说,所有普金斯的解禁和重新启用都像魔术一样奏效!!其他一切都无效:intellij重新启动/版本更改、sbt版本更新。。。只有这个插件重新启用了这个技巧。禁用和重新启用所有的pugins对我来说就像一个魔术!!其他一切都无效:intellij重新启动/版本更改、sbt版本更新。。。只有第 是插件重新启用的把戏。