我尝试基于saddle的Series类创建一个TimeSeries类。我的测试中出现以下错误:
java.lang.NoClassDefFoundError: org/saddle/scalar/ScalarTag
我的TimeSeries课程:
object TimeSeries {
def apply[V: ST](values: (LocalDate, V)*): TimeSeries[V] = {
new TimeSeries(Series(values: _*))
}
}
class TimeSeries[V: ST](values: Series[LocalDate, V]) { ... }
我的测试:
class TimeSeriesTest extends WordSpec with GivenWhenThen with ShouldMatchersForJUnit {
"TimeSeries" when {
val d2014_02_01 = new LocalDate(2014, 2, 1);
val d2014_02_03 = new LocalDate(2014, 2, 3);
val d2014_02_04 = new LocalDate(2014, 2, 4);
"created with data points as arguments" should {
"have the earliest point as start, the latest as the end, and a length" in {
val a = TimeSeries(d2014_02_01 -> 0.6, d2014_02_03 -> 4.5, d2014_02_04 -> 0.9)
...
}
}
}
我的猜测是它与TimeSeries类中绑定的上下文有关。我是那个话题的新手。有什么建议吗?
答案 0 :(得分:1)
添加LocalDate后,订购您的代码工作(没有错误)。尝试使用此build.sbt:
scalaVersion := "2.10.3"
resolvers ++= Seq(
"Sonatype Snapshots" at "http://oss.sonatype.org/content/repositories/snapshots",
"Sonatype Releases" at "http://oss.sonatype.org/content/repositories/releases"
)
libraryDependencies ++= Seq(
"org.scalatest" % "scalatest_2.10" % "2.0" % "test",
"org.scala-saddle" %% "saddle-core" % "1.3.+",
"joda-time" % "joda-time" % "2.3",
"org.joda" % "joda-convert" % "1.2",
"com.novocode" % "junit-interface" % "0.9" % "test"
// (OPTIONAL) "org.scala-saddle" %% "saddle-hdf5" % "1.3.+"
)