error de compilación herencia ilegal utilizando Scala 2.7.7 y 1.1 LIFT-INSTANTÁNEA

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

  •  11-09-2019
  •  | 
  •  

Pregunta

Estoy utilizando JDK 1.6.0_16 y Scala 2.7.7, compilar con experto.

mvn clean compile hago y consigo cuatro errores, pero son idénticos, en diferentes modelos:

  

[ERROR]   C: \ Users \ propietario \ espacio de trabajo \ ResumeApp \ src \ Main \ Scala \ jblack \ resumeapp \ levantar \   modelo \ ContactInfoModel.scala: 13:   error: herencia ilegal;

     

[INFO] auto-tipo   jblack.resumeapp.lift.model.ContactInfoModel   no se ajusta a   net.liftweb.mapper.CRUDify [Larga, jblack.resumeapp.lift.model.ContactInfoModel]   'S selftype   net.liftweb.mapper.CRUDify [Larga, jblack.resumeapp.lift.model.ContactI   nfoModel] con   jblack.resumeapp.lift.model.ContactInfoModel   con net.liftweb.map   per.KeyedMetaMapper [Larga, jblack.resumeapp.lift.model.ContactInfoModel]

     

[INFO] con CRUDify [Larga,   ContactInfoModel] {

Y este es mi código:

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

No estoy seguro de lo que estoy haciendo mal.

Por desgracia, debido a que he instalado el plugin noche, en Eclipse, no puedo instalar el IDE 2.7.7, así que sólo puedo compilar este con el experto.

¿Hay un problema con la forma en que estoy usando CRUDify?

¿Fue útil?

Solución

CRUDify en las necesidades de elevación-1.1 a ser mezclado en el objeto MetaMapper lugar de la clase Mapper. Por lo que debe trabajar con este código en su lugar:

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

Otros consejos

Finalmente llegué funcionando correctamente cuando fui de nuevo a usar LIFT 1.0 en lugar de 1.1. Parece que hay algún cambio que tengo que mirar, finalmente, en el 1,1, pero al menos puede continuar con mi desarrollo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top