Ошибка сборки 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