![](/img/trans.png)
[英]Scala syntax error at IntelliJ IDEA, but compile successfully via sbt
[英]Intellij IDEA and SBT syntax error
我是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 - 问题仍然存在。
任何人都可以帮忙解决这个问题吗?
谢谢
尝试这个:
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 in file(".")). enablePlugins(JettyPlugin)
是Project
。 这是sbt插件可以接受的。
但是,如果使用独立的enablePlugins(JettyPlugin)
,则返回类型不同 ,并且它变为DslEntry
,这使得sbt插件不满意。 另一种解决方法是简单地使用enablePlugins
的返回类型。 例如:
val foo = enablePlugins(JettyPlugin)
这是IntelliJ Scala插件的一个问题,将在即将推出的版本中修复: https : //youtrack.jetbrains.com/issue/SCL-8413
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.