2016-11-16 4 views
0

Ich versuche, get started mit Datomisca, aber die ersten Start Code führt zu einem NoSuchMethodError.Versuchen, Schema mit Datomisca Ergebnisse in NoSuchMethodError

Hier ist ein kompakter Snippet, der das reproduziert.

package tw.txstream.flinktest 

import scala.concurrent.ExecutionContext.Implicits.global 
import datomisca._ 

object DatomicTest { 

    def main(args: Array[String]){ 
    val uri = "datomic:dev://localhost:4334/test" 

    // ensure clean DB 
    println("Deleted DB? " + Datomic.deleteDatabase(uri)) 
    println("Created DB? " + Datomic.createDatabase(uri)) 
    implicit val conn = Datomic.connect(uri) 

    Datomic.transact(Schema.txDataA) map { tx => 
     println("Transacted") 
    } 
    } 
} 

object Schema { 
    object ns { 
    val ns1 = Namespace("ns1") 
    } 
    val attr1 = Attribute(
    ns.ns1/"attr1", 
    SchemaType.string, 
    Cardinality.one 
).withDoc("attr1") 

    val ident1 = AddIdent(ns.ns1/"ident1") 
    val txDataA: Seq[TxData] = Seq(attr1) 
    val txDataB: Seq[TxData] = Seq(ident1) 
} 

Die Ausnahme, die ich erhalten:

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object; 
    at datomisca.Attribute.toAddOps$lzycompute(Attribute.scala:80) 
    at datomisca.Attribute.toAddOps(Attribute.scala:78) 
    at datomisca.Attribute.toTxData(Attribute.scala:98) 
    at datomisca.Connection$$anonfun$transact$extension$1.apply(Connection.scala:152) 
    at datomisca.Connection$$anonfun$transact$extension$1.apply(Connection.scala:151) 
    at scala.collection.immutable.List.foreach(List.scala:318) 
    at datomisca.Connection$.transact$extension(Connection.scala:151) 
    at datomisca.TransactOps$class.transact(TransactOps.scala:53) 
    at datomisca.Datomic$.transact(Datomic.scala:31) 

Transaktionen Schema.txDataB statt Schema.txDataA funktioniert aber einwandfrei. Es scheint also, dass der Fehler etwas mit Datomiscas Attribute() zu tun hat.

Was ist das Problem und wie behebt man das?

Antwort

0

Dies war ein Problem mit der scala-Version.

Ursprünglich verwendete ich folgendes:

<dependency> 
     <groupId>com.github.dwhjames</groupId> 
     <artifactId>datomisca_2.11</artifactId> 
     <version>0.7.0</version> 
    </dependency> 

Ändern artifactId auf "datomisca_2.10" es für mich fixiert.

Verwandte Themen