2016-11-16 1 views
0

J'essaie de get started avec Datomisca, mais le code de démarrage se traduit par un NoSuchMethodError.Essayer d'ajouter un schéma avec Datomisca entraîne NoSuchMethodError

Voici un extrait compact qui reproduit cela.

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) 
} 

L'exception je reçois:

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) 

Schema.txDataB au lieu de transiger Schema.txDataA fonctionne cependant très bien. Donc, il semble que l'erreur a quelque chose à voir avec Attribute() de Datomisca.

Quel est le problème et comment y remédier?

Répondre

0

C'était un problème de version de scala.

A l'origine, je les suivantes:

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

Changement artifactId à "datomisca_2.10" fixé pour moi.