2014-02-18 5 views
0

새들의 Series 클래스를 기반으로 TimeSeries 클래스를 만들려고합니다. 내 시험에서 다음과 같은 오류가 발생합니다 :스칼라 안장 : ScalarTag에 클래스 정의가 없습니다.

java.lang.NoClassDefFoundError: org/saddle/scalar/ScalarTag 

내 시계열 클래스 :

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

들으을. 이제 작동합니다. 외관상으로는 안장은 테스트를위한 것이 아니라 건물을 짓기위한 경로에 있었다. – Karsten