Ошибка сборки Gradle в аннотированных классах Lombok
у меня есть проект JHipster, в котором я добавил зависимость для Ломбока в сборке.Gradle в:
compile group: 'org.projectlombok', name: 'lombok', version: lombok_version
и у меня плагин Lombok застопорился для IntelliJ. Я включил обработку аннотаций в IntelliJ, я могу строить без ошибок из IntelliJ IDE, но когда я пытаюсь построить из командной строки, я получаю ошибки сборки. Похоже, что Gradle не обрабатывает аннотации и не может найти объявления getter/setter и log. Проект также работает без каких-либо ошибки.
Командная Строка:
./gradlew build
ошибки :
/Users/.../source/v4.0/src/main/java/com/.../service/MyService.java:145: error: cannot find symbol
log.info("Security Context: " + SecurityUtils.getCurrentUserLogin());
^
symbol: variable log
location: class MyService
ошибка:
/Users/.../source/v4.0/src/main/java/com/.../service/MyService.java:105: error: cannot find symbol
myClass.setDescription(description);
^
symbol: method setDescription(String)
location: variable myClass of type MyClass
Класс:
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class MyService {
public void someMethod(){
log.debug("Security Context: " + SecurityUtils.getCurrentUserLogin());
MyClass myCLass = new MyClass();
myClass.setDescription(description);
}
}
Класса Сущности:
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name="t_juror_file_update")
@Getter
@Setter
@NoArgsConstructor
public class MyClass {
private String description;
}
Я пытался выяснить это в течение нескольких часов, но полностью застрял. Любая помощь будет оценена.
1 ответов
вам нужно будет указать lombok
в качестве обработчика. Для этого вам нужно будет добавить в build.gradle
на .
apply plugin: 'net.ltgt.apt'
dependencies {
provided "org.projectlombok:lombok:$lombokVersion"
apt "org.projectlombok:lombok:$lombokVersion"
/** ... */
}
Jhipster
использует net.ltgt.gradle:gradle-apt-plugin
для обработки аннотации.
на IntelliJ
настройки Enable annotation Processing
следует проверить.
Подробнее: проект Lombok - инструкции для Android