Android Lombok
최근, 기억력 향상 관련 앱 1차 버전을 만들면서 Lombok 라이브러리를 사용했다. Lombok 은 Java를 사용하면서 지루하고 불편했던 Setter/Getter를 어노테이션으로 대체한다. Setter/Getter를 사용하지 않는 것은 일부 기능이며, Lombok 은 다른 유용한 기능들을 포함한다.
Lombok을 사용하려면 Module수준의 build.gradle에 라이브러리를 추가하고, 안드로이드 스튜디오에 플러그인을 설치해야 한다.
build.gradle(Module)
오류가 발생할 때마다 아래에 주석처리된 종속성을 추가해보자!
dependencies {
compile "org.projectlombok:lombok:1.16.18"
//annotationProcessor "org.projectlombok:lombok:1.16.18"
//provided 'javax.annotation:jsr250-api:1.0'
}
안드로이드 스튜디오 플러그인 설치(Preferences)
Annotation Processing 확인(Default Preferences)
사용 예
@Data
public class KeyPoint {
private String subject;
private String content;
}
KeyPoint keyPoint = new KeyPoint();
String subject = keyPoint.getSubject();
String content = kyePoint.getContent();
문제 해결
빌드에러 1
cannot find symbol class Generated 또는 package javax.annotation does not exist
빌드에러 1 해결(모듈 수준 build.gradle)
dependencies {
provided 'javax.annotation:jsr250-api:1.0'
}
빌드에러 2
cannot find symbol class ConstructorProperties
빌드에러 2 해결
lombok.config 파일을 프로젝트 루트(Root)에 생성 후, 아래와 같이 설정
lombok.anyConstructor.suppressConstructorProperties = true