我正在使用JDK 1.6.0_16和Scala 2.7.7,使用maven进行编译。
我做mvn clean compile
我得到了四个错误,但它们在不同的模型中是相同的:
[ERROR] C:\ Users \用户所有者\工作空间\ ResumeApp \ SRC \主\阶\ jblack \ resumeapp \解除\ 型号\ ContactInfoModel.scala:13: 错误:非法继承;
[INFO]自我型 jblack.resumeapp.lift.model.ContactInfoModel 不符合 net.liftweb.mapper.CRUDify [长,jblack.resumeapp.lift.model.ContactInfoModel] 的自我类型 net.liftweb.mapper.CRUDify [长,jblack.resumeapp.lift.model.ContactI nfoModel]用 jblack.resumeapp.lift.model.ContactInfoModel 用net.liftweb.map per.KeyedMetaMapper [长,jblack.resumeapp.lift.model.ContactInfoModel]
[INFO]与CRUDify [Long, 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)
}
我不确定我做错了什么。
不幸的是,因为我在Eclipse中安装了nightly插件,所以我无法安装IDE 2.7.7,所以我只能用maven编译它。
我使用CRUDify
的方式有问题吗?
答案 0 :(得分:2)
在lift-1.1中的CRUDify需要混合到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)
}
答案 1 :(得分:0)
当我回到使用LIFT 1.0而不是1.1时,我终于让它正常工作了。似乎有一些变化需要我最终考虑1.1,但至少我可以继续我的发展。