我是
scala和SBT的新手
我开始使用带有SBT的IDEA,并且面临不清楚的错误(表达式类型DslEntry必须符合SBT文件中的Def.SettingsDefinition)
这是非常简单的空测试项目与jetty插件(示例从插件网站)
我开始使用带有SBT的IDEA,并且面临不清楚的错误(表达式类型DslEntry必须符合SBT文件中的Def.SettingsDefinition)
这是非常简单的空测试项目与jetty插件(示例从插件网站)
这里是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.
(项目在文件(“.”)的返回类型).
enablePlugins(JettyPlugin)是Project. sbt插件可以接受
但是,如果您使用独立的enablePlugins(JettyPlugin),返回类型是不同的,它变成DslEntry,这使得sbt插件不开心.解决方法的另一种方法是简单地使用enablePlugins的返回类型.例如:
val foo = enablePlugins(JettyPlugin)