我是scala和SBT的新手,
我开始将IDEA与SBT一起使用,并且遇到不清楚的错误(表达式类型DslEntry必须符合SBT文件中的Def.SettingsDefinition)。这是一个非常简单的空测试项目,带有码头插件(示例取自插件站点)
这是plugins.sbt的来源:
logLevel := Level.Warn
addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "2.1.0")
仅在IDEA GUI中存在此错误。如果我编译项目-一切都很好。从控制台-一切都很好。但是我不喜欢什么东西不能正常工作
我尝试下载SBT的最新版本,并在全局IDEA属性中设置了它的路径-问题仍然存在。
我下载了最新的intellij IDEA EAP,以及最新版本的scala插件,sbt插件和另一个插件-问题仍然存在。
谁能帮助解决这个问题?
谢谢
试试这个:
lazy val root = (project in file(".")).
enablePlugins(JettyPlugin).
settings(
name := "test",
scalaVersion := "2.11.7",
version := "1.0"
)
更新:以下是我所知道的:
该错误来自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插件可以接受。
但是,如果您使用standalone enablePlugins(JettyPlugin)
,则返回类型不同,它DslEntry
将使sbt插件感到不满意。解决该问题的另一种方法是简单地消耗的返回类型enablePlugins
。例如:
val foo = enablePlugins(JettyPlugin)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句