我将其作为bug on the ORMLite Sourceforge bug tracker提出,但没有看到任何更新。我没有看到任何流程文档说是否需要做任何事情将其传递给Gray?

看到测试v4.47(在较旧的ORMLite版本上的行为会更糟,因为配置文件生成会更早失败)。

我的@DatabaseTable类都包含一些Android导入,例如

import android.content.Context;


我的大多数类都扩展了一个抽象超类,例如

@DatabaseTable(tableName = SongMessage.TABLE_NAME)
public class SongMessage extends AbstractMessage {


但是,我的一些类扩展了一个共享的抽象超类,例如

@DatabaseTable(tableName = PhotoMessage.TABLE_NAME)
public class PhotoMessage extends SingleImageMessage implements <snip> {


SingleImageMes​​sage扩展了相同的通用AbstractMessage:

public abstract class SingleImageMessage extends AbstractMessage {


对于直接子类,运行OrmLiteConfigUtil可以正常工作,但对于扩展中间抽象类的子类则不能运行:

...
Wrote config for class com.mypackage.TextMessage
Skipping class com.mypackage.PhotoMessage because we got an error finding its definition: android/content/Context
Wrote config for class com.mypackage.SongMessage
...

最佳答案

抱歉这么晚才回复。最近,ORMLite已被换掉了。


  对于直接子类,运行OrmLiteConfigUtil可以正常工作,但对于扩展中间抽象类的子类则不能运行:


显然,此问题是由于Context导入引起的。不幸的是,OrmLiteConfigUtil在本地运行,无法访问该类,该类仅由Google导出为存根。

我可以做的一件事就是仅在无法调查超类时捕获并记录错误。因此子类将被正确输出。那行得通吗?

10-08 15:21