2014-02-18 45 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