Ошибка компиляции с незаконным наследованием с использованием Scala 2.7.7 и LIFT 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 esumeApp\src\main\scala\jblack esumeapp\lift\ модель\ContactInfoModel.scala:13:ошибка:незаконное наследование;

[ИНФОРМАЦИЯ] самостоятельный ввод jblack.resumeapp.lift.model.ContactInfoModel не соответствует net.liftweb.mapper.CRUDify[Длинный,jblack.resumeapp.lift.model.ContactInfoModel] тип пользователя net.liftweb.mapper.Обработайте [Длинный, jblack.resumeapp.lift.model.Свяжитесь с nfoModel] с помощью jblack.resumeapp.lift.model.ContactInfoModel с помощью net.liftweb.map согласно.Метамодель с ключом [Длинный, jblack.resumeapp.lift.model.ContactInfoModel]

[ИНФОРМАЦИЯ] с помощью CRUDify[Длинный, 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)
}

Я не уверен, что я делаю не так.

К сожалению, из-за того, что я установил плагин nightly в Eclipse, я не могу установить IDE 2.7.7, поэтому я могу скомпилировать это только с помощью maven.

Есть ли проблема с тем, как я использую CRUDify?

Это было полезно?

Решение

CRUDify в 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