IntelliJ SBT项目无法解析SBT符号

时间:2019-03-13 09:40:29

标签: java scala intellij-idea playframework sbt

我要把头撞在墙上。

尝试在工作中打开一个克隆的git SBT项目。它是Java和Scala Play的组合项目,具有scala 2.11.1,SBT 0.13.6和Play 2.5。

我使用IntelliJ从克隆的存储库中导入项目,并已选中JDK 1.8,并选中了所有下载和SBT复选框,然后运行SBT刷新或从SBT Shell重新加载。

这样做之后,build.sbt和plugins.sbt上的所有SBT和Play代码都涂成红色,如“无法解析符号”所示。

看Intellij的结构,我在SDK选项卡上有JDK1.8,在Global Libraries选项卡上有scala-sdk-2.11。 SBT和Scala插件已安装并启用。

由于以下播放依赖项,SBT刷新失败,这可能是上述症状的原因,因为SBT构建未完成:

  

未解决的依赖项:   com.typesafe.play.plugins#play-statsd_2.11; 2.3.0:找不到

依赖项确实存在: http://dl.bintray.com/typesafe/maven-releases/com/typesafe/play/plugins/play-statsd_2.11/2.3.0/

我在做什么错了?

enter image description here

4 个答案:

答案 0 :(得分:1)

原来问题出在类型安全方面,而不是我的环境。 除play-statsd之外,所有对项目的类型安全依赖项均已按预期解决。

我手动将此依赖项添加到我的常春藤缓存中,现在一切正常。 这很难隔离,因为显然这里的每个人都已经依赖于他们的缓存,因此似乎他们的更新效果很好...

如果有人遇到相同的问题,请从bintray repository获取依赖项,然后将其手动添加到您的常春藤缓存中,例如

  

〜/ .ivy2 / cache / com.typesafe.play.plugins / play-statsd_2.11

github播放插件存储库已存档,因此我无法打开问题,也不知道是否有人会照顾它。

答案 1 :(得分:0)

未解决的依赖性错误,通常与您使用的Scala版本有关。

这里是Play 2.3.x文档。 https://www.playframework.com/documentation/2.3.x/Migration22#Update-Scala-version

如果您能够使用Play 2.7.x,则问题将得到解决。

答案 2 :(得分:0)

请按如下所示在build.sbt中添加Play StatsD依赖项并检查一次。

"com.typesafe.play.plugins" %% "play-statsd" % "2.3.0"

答案 3 :(得分:0)

您应该添加Maven-releases解析器:

resolvers += "Typesafe Resolver" at "http://repo.typesafe.com/typesafe/maven-releases/"