我已经安装了Eclipse Luna。然后我通过Help
安装了Scala IDE - > Install new software
并添加包含here链接的软件网站。然后我使用this迷你指南安装了sbt 0.13和sbteclipse并创建了eclipse项目。然后我通过将它添加到我的build.sbt安装(kindda)scalatest。现在它看起来像这样:
val scalaTest = "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
lazy val commonSettings = Seq(
scalaVersion := "2.11.6"
)
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
libraryDependencies += scalaTest
)
然后我从this example创建了一个测试。名为FirstSpec.scala
的文件位于testProject/src/test/scala-2.11/testProject/
。所以这是一个问题:eclipse似乎没有看到scalaTest。 import org.scalatest._
的第二行带有下划线红色,错误说明为object scalatest is not a member of package org
。而且,在this guide之后,在选择我的测试类时,我没有看到选项Run As -> ScalaTest - Suite
。
同时,当我在我的测试项目中启动sbt会话并输入test
命令时,一切顺利。测试启动并通过。
所以我的问题是:
build.sbt
libraryDependencies
中,它就不会看到最新的?那么libraryDependencies的重点是什么?sbt test
运行测试没有问题?如果sbt看到scalatest,为什么eclipse可以' 答案 0 :(得分:0)
哇,this one解决了我的问题。因此,build.sbt
示例可能类似于:
import com.typesafe.sbteclipse.plugin.EclipsePlugin._
EclipseKeys.withSource := true
val scalaTest = "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
val jodaConvert = "org.joda" % "joda-convert" % "1.7"
val joda = "joda-time" % "joda-time" % "2.7"
lazy val commonSettings = Seq(
scalaVersion := "2.11.6"
)
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
libraryDependencies += scalaTest
).
settings(
libraryDependencies += jodaConvert
).
settings(
libraryDependencies += joda
)
然后这样做:
rm -rf ~/.ivy2/cache/
sbt update-classifiers
sbt eclipse