Illegal errore di compilazione eredità utilizzando Scala 2.7.7 e 1.1 LIFT-SNAPSHOT

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

  •  11-09-2019
  •  | 
  •  

Domanda

Sto usando JDK 1.6.0_16, e Scala 2.7.7, compilazione con Maven.

Lo faccio mvn clean compile e ottengo quattro errori, ma sono identici, in diversi modelli:

  

[ERRORE]   C: \ Users \ proprietario \ workspace \ ResumeApp \ src \ Main \ Scala \ jblack \ resumeapp \ sollevare \   modello \ ContactInfoModel.scala: 13:   errore: eredità illegale;

     

[INFO] auto-tipo   jblack.resumeapp.lift.model.ContactInfoModel   non è conforme alla   net.liftweb.mapper.CRUDify [Lungo, jblack.resumeapp.lift.model.ContactInfoModel]   'S selftype   net.liftweb.mapper.CRUDify [Lungo, jblack.resumeapp.lift.model.ContactI   nfoModel] con   jblack.resumeapp.lift.model.ContactInfoModel   con net.liftweb.map   per.KeyedMetaMapper [Lungo, jblack.resumeapp.lift.model.ContactInfoModel]

     

[INFO] con CRUDify [Lungo,   ContactInfoModel] {

E questo è il mio codice:

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

Io non sono certo quello che sto facendo male.

Purtroppo, perché ho installato il plugin di notte, in Eclipse, non posso installare IDE 2.7.7, quindi posso solo compilare questo con Maven.

C'è un problema con il modo sto usando CRUDify?

È stato utile?

Soluzione

CRUDify in esigenze di sollevamento-1.1 da miscelare nell'oggetto MetaMapper posto della classe Mapper. Così dovrebbe funzionare con questo codice invece:

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

Altri suggerimenti

Finalmente ho potuto farlo funzionare correttamente quando sono tornato ad usare LIFT 1.0 invece di 1.1. Sembra che ci sia qualche cambiamento che ho bisogno di guardare alla fine in per 1.1, ma almeno posso continuare con il mio sviluppo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top