Tôi hoàn toàn kiệt sức với Dagger 2 trong ứng dụng không phải là Android (IDE là IntelliJ IDEA).Dagger 2 không tạo thành phần
build.gradle
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "net.ltgt.gradle:gradle-apt-plugin:0.9"
}
}
apply plugin: 'java'
apply plugin: 'net.ltgt.apt'
dependencies {
compile 'com.google.dagger:dagger:2.8'
apt 'com.google.dagger:dagger-compiler:2.8'
compileOnly 'javax.annotation:jsr250-api:1.0'
}
Component
@Component(modules = {MyModule.class}) public interface MyComponent {}
Mô-đun
@Module class MyModule {}
Main
DaggerMyComponent component = DaggerMyComponent.builder().build();
Compiler nói
không thể tìm thấy biểu tượng DaggerMyComponent
Tuyệt đối không có nhiều ý tưởng những gì có thể sai :(
Bằng cách này, nếu tôi chạy gradlew clean build --refresh-dependencies
, không có lỗi, mọi thứ đều ổn!
Nhưng chỉ khi tôi sử dụng 'Dự án xây dựng lại' trong IDE - lỗi lần nữa. Có thể IDEA lỗi (thời gian để quay lại Eclipse)?
Và có, tôi đã thêm thư mục với các lớp được tạo dưới dạng nội dung gốc, vì vậy IDE có thể xem DaggerMyComponent
.
Aha, tôi đã bật chế độ chú thích, vì câu trả lời cho các hương vị khác của câu hỏi này gợi ý cho nó (ví dụ: [here] (http://stackoverflow.com/questions/33444356/is-there-any- cách thức tạo ra-intellij-idea-recognizing-dagger-2-tạo-lớp)), nhưng mẹo về tùy chọn về ủy nhiệm xây dựng/chạy là mới đối với tôi. Cảm ơn bạn đã nỗ lực tìm hiểu điều này :) – mous