我是scala和SBT的新手
我开始使用IDEA和SBT并且面临不明确的错误(表达式类型DslEntry必须符合SBT文件中的Def.SettingsDefinition)
这是一个非常简单的带有jetty插件的空测试项目(例子来自插件站点)
这是plugins.sbt源码:
logLevel := Level.Warn
addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "2.1.0")
此错误仅出现在IDEA GUI中 . 如果我编译项目 - 一切都很好 . 从控制台 - 一切都很好 . 但是当某些东西不能正常工作时我不喜欢
我试图下载最新版本的SBT并在全局IDEA属性中设置它的路径 - 问题仍然存在 .
我下载了最后一个版本的scala插件,sbt插件和另一个插件的intellij IDEA EAP - 问题仍然存在 .
任何人都可以帮忙解决这个问题吗?
谢谢
2 回答
试试这个:
更新:以下是我所知道的:
该错误来自intellij的sbt插件https://github.com/JetBrains/intellij-sbt/blob/master/idea-plugin/src/main/scala/org/jetbrains/sbt/language/SbtAnnotator.scala#L41 .
(project in file(".")). enablePlugins(JettyPlugin)
的返回类型是Project
. 这是sbt插件可以接受的 .但是,如果使用独立
enablePlugins(JettyPlugin)
,则返回类型为 different ,并且它变为DslEntry
,这使得sbt插件不满意 . 另一种解决方法是简单地使用enablePlugins
的返回类型 . 例如:这是IntelliJ Scala插件的一个问题,将在即将推出的版本中修复:https://youtrack.jetbrains.com/issue/SCL-8413