当前位置:  开发笔记 > 编程语言 > 正文

Intellij IDEA和SBT语法错误

如何解决《IntellijIDEA和SBT语法错误》经验,为你挑选了1个好方法。

我是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 - 问题仍然存在.

任何人都可以帮忙解决这个问题吗?
谢谢



1> SexyNerd..:

试试这个:

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插件可以接受的.

但是,如果你使用独立的enablePlugins(JettyPlugin),返回类型是不同的,它变得DslEntry使sbt插件不高兴.另一种解决方法是简单地使用返回类型enablePlugins.例如:

val foo = enablePlugins(JettyPlugin)

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有