0

我正在使用 jenkins 构建一个使用 ORMLite 的 Android 库项目,我收到以下错误,我真的不知道如何解决:

[javac] /Users/x/Desktop/workspace/x/src/com/x/x/database/DatabaseHelper.java:109:
    type parameters of <D>D cannot be determined; no unique maximal instance exists
    for type variable D with upper bounds com.x.x.database.dao.DatabaseObjectDao,
    com.j256.ormlite.dao.Dao<com.x.x.database.entity.UserEntity,?>
[javac] sUserEntityDao = getDao(UserEntity.class);

任何帮助都会非常棒:)

4

1 回答 1

0

所以下面可能是错误的,但我会把它留给后代。我最初认为这是一个 ORMLite 错误,但现在我认为这是一个编译器错误。

我认为你应该看看这个问题/答案:

为什么编译器声明不存在唯一的最大实例?


如果异常树的一部分可能具有以下效果的某些消息,则这可能是ORMLite错误:

Could not find OpenHelperClass because none of the generic parameters of class 
YourActivityClass extends OrmLiteSqliteOpenHelper.  You should use
getHelper(Context, Class) instead.

Android 应用程序的简单 ORMLite 模式是让活动扩展OrmLiteBaseActivity<YourDatabaseHelper>。就像是:

public class HelloAndroid extends OrmLiteBaseActivity<DatabaseHelper> {

然后,当您调用 时getHelper(),ORMLite 可以自动找出DatabaseHelper要使用的辅助类。还有其他方法可以设置 ORMLite 的接线。我先看看Android 起始文档,然后再看看Android 示例程序

于 2013-08-06T14:11:16.253 回答