خطأ في الميراث غير القانونية باستخدام SCALA 2.7.7 ورفع 1.1-لقطة

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

  •  11-09-2019
  •  | 
  •  

سؤال

أنا أستخدم JDK 1.6.0_16، و Scala 2.7.7، تجميع مع Maven.

أنا افعل mvn clean compile واحصل على أربع أخطاء، لكنها متطابقة، في نماذج مختلفة:

خطأ] C: Users Owner Workspace Workspace ResumeApp SRC Main Scala Jblack Resumeapp Lift Model Contactinfomodel.scala: 13: خطأ: الميراث غير القانوني؛

معلومات] النوع الذاتي jblack.resumeapp.lift.model.contactinfomodel لا يتوافق مع net.liftweb.mapper.crudify [طويلة، jblack.resumeapp.lift.model.contactinfomodel] selftype net.liftweb.mapper.crudeify [ طويل، jblack.resumeapp.lift.model.contacti nfomodel] مع jblack.resumeapp.lift.model.contactinfoModel مع net.liftweb.map per.keyedmapper [الطويلة، jblack.resumeapp.lift.model.contactinfomodel

معلومات] مع تحطم [طويلة، الاتصالات الفوتوغرافي] {

وهذا هو رمز بلدي:

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

أنا لست متأكدا مما أفعله خطأ.

لسوء الحظ، نظرا لأنني قمت بتثبيت البرنامج المساعد الليلي، في الكسوف، لا يمكنني تثبيت IDE 2.7.7، لذلك يمكنني فقط ترجمة هذا مع Maven.

هل هناك مشكلة مع كيف أستخدم CRUDify?

هل كانت مفيدة؟

المحلول

يجب خلط Grudify في Lift-1.1 في كائن Metamapper بدلا من فئة MAPPER. لذلك يجب أن تعمل مع هذا الرمز بدلا من ذلك:

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

نصائح أخرى

أخيرا حصلت عليه بشكل صحيح عندما عدت إلى استخدام LIFT 1.0 بدلا من 1.1. يبدو أن هناك بعض التغيير الذي أحتاجه للنظر في النهاية إلى 1.1، ولكن على الأقل يمكنني المتابعة مع تطوري.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top