2009-12-02 7 views
2

J'utilise JDK 1.6.0_16 et Scala 2.7.7, en compilant avec maven.Erreur de compilation héritée illégale en utilisant Scala 2.7.7 et LIFT 1.1-SNAPSHOT

je mvn clean compile et je reçois quatre erreurs, mais ils sont identiques, en différents modèles:

[ERROR] C:\Users\owner\workspace\ResumeApp\src\main\scala\jblack\resumeapp\lift\ model\ContactInfoModel.scala:13: error: illegal inheritance;

[INFO] self-type jblack.resumeapp.lift.model.ContactInfoModel does not conform to net.liftweb.mapper.CRUDify[Long,jblack.resumeapp.lift.model.ContactInfoModel] 's selftype net.liftweb.mapper.CRUDify[Long,jblack.resumeapp.lift.model.ContactI nfoModel] with jblack.resumeapp.lift.model.ContactInfoModel with net.liftweb.map per.KeyedMetaMapper[Long,jblack.resumeapp.lift.model.ContactInfoModel]

[INFO] with CRUDify[Long, ContactInfoModel] {

Et voici mon 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) 
} 

Je ne suis pas certain de ce que je fais faux.

Malheureusement, parce que j'ai installé le plugin nightly, dans Eclipse, je ne peux pas installer IDE 2.7.7, donc je ne peux le compiler qu'avec maven.

Y a-t-il un problème avec la façon dont j'utilise CRUDify?

Répondre

2

CRUDify dans lift-1.1 doit être mélangé dans l'objet MetaMapper au lieu de la classe Mapper. Donc, il devrait fonctionner avec ce code à la place:

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

Merci. Depuis, j'ai commencé à utiliser l'APP, je vais voir quels problèmes j'ai. :) Et en utilisant LIFT 1.1. –

0

J'ai finalement réussi à travailler correctement lorsque je suis revenu à l'utilisation de LIFT 1.0 au lieu de 1.1. Il semble qu'il y ait des changements dont j'ai besoin pour finalement 1.1, mais au moins je peux continuer mon développement.

Questions connexes