2016-03-27 19 views
-1

dosya src/main/scala/Test.scala ederken:Anorm eksik veya geçersiz bağımlılık algılandı yükleme sınıf dosyası 'JavaTimeColumn.class'

import anorm.SQL 
import anorm.SqlParser.{str, float} 
import anorm._ 

object Test { 
    def main(args: Array[String]) { 
    val dbUrl = "jdbc:mysql://localhost:3306/test" 
    Class.forName("org.gjt.mm.mysql.Driver").newInstance() 
    implicit val conn: java.sql.Connection = java.sql.DriverManager.getConnection(dbUrl) 

    val parser = str("name") ~ float("weight") map { case name ~ f => (name -> f) } 
    val result = SQL("select name, weight from products").as(parser.single) 
    } 
} 

dosya build.sbt:

scalaVersion := "2.11.7" 

libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.38" 

libraryDependencies += "com.typesafe.play" %% "anorm" % "2.5.0" 

koşmak onu :

$ sbt sbt-version 
[info] Set current project to test (in build file:/home/david/test/) 
[info] 0.13.11 

$ sbt run 
[info] Set current project to test (in build file:/home/david/test/) 
[info] Compiling 1 Scala source to /home/david/test/target/scala-2.11/classes... 
[error] missing or invalid dependency detected while loading class file 'JavaTimeColumn.class'. 
[error] Could not access type ZonedDateTime in value java.time, 
[error] because it (or its dependencies) are missing. Check your build definition for 
[error] missing or conflicting dependencies. (Re-run with `-Ylog-classpath` to see the problematic classpath.) 
[error] A full rebuild may help if 'JavaTimeColumn.class' was compiled against an incompatible version of java.time. 
[error]                ^
[error] (compile:compileIncremental) Compilation failed 

sıfırdan herşeyi denedim: yeni bir ubuntu sanal makine SBT kurulup işletilen bu (yani daha önce .m2, .sbt n veya .ivy dizinleri).

+0

Bunu hangi java sürümünde çalıştırıyorsunuz? –

+0

java ve anorm sürümlerini – cchantep

+0

java sürüm 1.7.0 (ubuntu/usr/lib/jvm/java-7-openjdk-amd64/jre'de 1.7.0_65 ve 1.7.0_40 '/ Library/Java/JavaVirtualMachines/sürümlerini belirtin) jdk1.7.0_40.jdk/İçindekiler/Ana Sayfa/OSX'de jre '). Build.sbt'de görebileceğiniz gibi, anorm versiyon 2.5.0. –

cevap

1

Oynatım 2,4 Java 8 gerektirir. Bu yüzden benim tahminim Play Anorm'un Java 8'i beklemesiydi. Hata, Java 8'de eklenen java.util.time'u kullanmaya çalıştığını gösterir.

İlgili konular