2014-02-18 44 views
0

我尝试创建一个基于马鞍的Series类的TimeSeries类。我碰到下面的错误在我的测试:斯卡拉马鞍:ScalarTag没有class def

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类。我对这个话题很陌生。有什么建议么?

回答

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.+" 
) 

https://github.com/goozez/saddle-skeleton

+0

THX的答案。它现在有效。显然,马鞍不在测试的道路上,而是为了建造。 – Karsten