Illegale Vererbungs Kompilierungsfehler mit Scala 2.7.7 und LIFT 1.1-SNAPSHOT

StackOverflow https://stackoverflow.com/questions/1830478

  •  11-09-2019
  •  | 
  •  

Frage

Ich bin mit JDK 1.6.0_16 und Scala 2.7.7, mit Maven zu kompilieren.

ich mvn clean compile und ich vier Fehler, aber sie identisch sind, in verschiedenen Modellen:

  

[ERROR]   C: \ Benutzer \ Besitzer \ Arbeitsplatz \ ResumeApp \ src \ main \ scala \ jblack \ resumeapp \ heben \   Modell \ ContactInfoModel.scala: 13:   Fehler: Unzulässige Vererbung;

     

[INFO] Selbst Typ   jblack.resumeapp.lift.model.ContactInfoModel   entspricht nicht   net.liftweb.mapper.CRUDify [Lang, jblack.resumeapp.lift.model.ContactInfoModel]   ‚S selftype   net.liftweb.mapper.CRUDify [Lang, jblack.resumeapp.lift.model.ContactI   nfoModel] mit   jblack.resumeapp.lift.model.ContactInfoModel   mit net.liftweb.map   per.KeyedMetaMapper [Lang, jblack.resumeapp.lift.model.ContactInfoModel]

     

[INFO] mit CRUDify [Lang,   ContactInfoModel] {

Und das ist mein Code:

package jblack.resumeapp.lift.model

import net.liftweb.mapper._

object ContactInfoMetaData 
    extends ContactInfoModel 
        with KeyedMetaMapper[Long, ContactInfoModel] {
    override def dbTableName = "contactinfo"
    override def fieldOrder = List(key, data, display) 
}
class ContactInfoModel 
    extends KeyedMapper[Long, ContactInfoModel] 
        with CRUDify[Long, ContactInfoModel] {
    def getSingleton = ContactInfoMetaData
    def primaryKeyField = id

    object id extends MappedLongIndex(this)
    object key extends MappedString(this, 100)
    object data extends MappedString(this, 100)
    object display extends MappedBoolean(this)
}

Ich bin nicht sicher, was ich falsch mache.

Leider, weil ich die nächtliche Plugin in Eclipse installiert ist, kann ich nicht IDE 2.7.7 installieren, so kann ich dies nur mit Maven kompilieren.

Gibt es ein Problem mit, wie ich CRUDify verwende?

War es hilfreich?

Lösung

CRUDify in Lift-1.1 Anforderungen in das MetaMapper Objekt gemischt wird anstelle der Mapper-Klasse. So sollte es stattdessen mit diesem Code arbeiten:

package jblack.resumeapp.lift.model

import net.liftweb.mapper._

object ContactInfoMetaData 
    extends ContactInfoModel 
        with KeyedMetaMapper[Long, ContactInfoModel]
        with CRUDify[Long, ContactInfoModel] {
    override def dbTableName = "contactinfo"
    override def fieldOrder = List(key, data, display) 
}
class ContactInfoModel 
    extends KeyedMapper[Long, ContactInfoModel] {
    def getSingleton = ContactInfoMetaData
    def primaryKeyField = id

    object id extends MappedLongIndex(this)
    object key extends MappedString(this, 100)
    object data extends MappedString(this, 100)
    object display extends MappedBoolean(this)
}

Andere Tipps

Ich habe es endlich richtig arbeiten, wenn ich mit LIFT 1.0 ging zurück statt 1.1. Es scheint, dass es eine Veränderung ist, dass ich schließlich in 1,1 aussehen müssen, aber zumindest kann ich mit meiner Entwicklung fortsetzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top