java - org.gradle.execution.MultipleBuildFailures 使用@Query Room Persistence Library 时
问题描述
在 Dao 类(房间持久性库)中使用 @Query 时出现构建错误
我在我的项目中同时使用 java 和 kotlin,所以可能存在依赖问题,我尝试了不同的实现和 kapt,但没有运气。
我的依赖项(最后参见房间持久性库)
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
//noinspection GradleCompatible
implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'
implementation 'com.google.android.material:material:1.1.0-alpha05'
implementation "org.jetbrains.anko:anko:$anko_version"
implementation "org.jetbrains.anko:anko-commons:$anko_version"
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.google.dagger:dagger:2.19'
implementation 'androidx.appcompat:appcompat:1.1.0-alpha03'
implementation 'com.google.firebase:firebase-database:16.1.0'
annotationProcessor 'com.google.dagger:dagger-compiler:2.19'
kapt 'com.google.dagger:dagger-android-processor:2.19'
kapt 'com.google.dagger:dagger-compiler:2.19'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'com.google.code.findbugs:jsr305:3.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
//BUTTER KNIFE
implementation 'com.jakewharton:butterknife:10.1.0'
kapt 'com.jakewharton:butterknife-compiler:10.1.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
//crashlytics
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
// Update your firebase-core version, if it's lower than v11.4.2
implementation 'com.google.firebase:firebase-core:16.0.8'
implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.0.5'
//firebase messaging
implementation 'com.google.firebase:firebase-messaging:17.5.0'
//sms retrival
implementation 'com.google.android.gms:play-services-base:16.1.0'
implementation 'com.google.android.gms:play-services-identity:16.0.0'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.android.gms:play-services-auth-api-phone:16.0.0'
implementation project(':library')
//for intro
implementation 'com.github.AppIntro:AppIntro:5.1.0'
//picaso
implementation 'com.squareup.picasso:picasso:2.71828'
//room
def room_version = "1.1.1"
implementation "android.arch.persistence.room:runtime:$room_version"
kapt "android.arch.persistence.room:compiler:$room_version"
我的实体类
@Entity(tableName = "product")
public class Product
{
@PrimaryKey
@ColumnInfo(name = "id")
public Integer id;
@ColumnInfo(name = "category")
public String category;
@ColumnInfo(name = "name")
public String name;
@ColumnInfo(name = "price")
public Double price;
@ColumnInfo(name = "desc")
public String desc;
@ColumnInfo(name = "img_url")
public String img_url;
public Product(Integer id, String category, String name, Double price, String desc, String img_url) {
this.id = id;
this.category = category;
this.name = name;
this.price = price;
this.desc = desc;
this.img_url = img_url;
}
}
My Dao Class 在不使用 @Query 时构建良好,但在使用 @Query 时会导致构建错误。
@Dao
public interface CartDao
{
@Query("SELECT * FROM product")
ArrayList<Product> getAllProduct();
@Delete
void delete(Product cart);
}
构建错误
org.gradle.execution.MultipleBuildFailures:在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 的构建完成,但有 1 次失败) 在 java.lang.Thread.run(Thread.java:745) 引起:org.gradle.api.tasks.TaskExecutionException:任务':app:kaptPureshDebugKotlin'的执行失败...6更多引起:org.gradle .api.GradleException:编译错误。有关更多详细信息,请参阅 org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:135) 的 org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:135) 的日志以获取更多详细信息。 kotlin.compilerRunner.GradleCompilerRunner。
解决方案
@Dao
public interface CartDao
{
@Query("SELECT * FROM product")
ArrayList<Product> getAllProduct();
@Delete
void delete(Product cart);
}
而不是 ArrayList 使用 List
推荐阅读
- javascript - 在网页中显示用户的 Google 日历
- node.js - React 应用 Axios 和 NODEjs API 适用于 IP,而不是主机名
- javascript - 在 React 中的组件之间共享可变数据
- javascript - ReactJS Application(17.0.2) :将 webpack 4 更新到 webpack 5.58.2 后,我收到 TypeError: (0 , oX) is not a function
- haskell - 在 main = do haskell 中调用函数
- c++ - C++链表插入实现
- kiwi-tcms - 无法将我的 selenium junit 5 结果推送到 kiwitcms
- google-bigquery - colmuns Bigquery中的最大日期
- twilio - Twilio 虚拟阻止列表
- asp.net - 数据保护 API 密钥分配策略