IntelliJ 14 + плагин Lombok + @Builder = ошибка

у меня проблема с моей аннотацией IntelliJ 14 и Lombok "@Builder".

У меня есть класс :

@Getter
@Builder
public class TransactionFilter {
      private String name;
      private ProductType product;
      ...

      public static TransactionFilterBuilder defaultBuilder() {
         TransactionFilterBuilder builder = builder();
         builder.product(ProductType.DEFAULT);
         return builder;
      }
}

и я пытаюсь использовать его сгенерированный конструктор в другом классе:

import org.---.TransactionFilter.TransactionFilterBuilder;

public class Foo {
   public void boo() {
      TransactionFilterBuilder filterBuilder;
      ...
   }
}

в обоих классах у меня есть некоторые ошибки

при компиляции с Java 1.6 у меня есть ошибка:

TransactionFilter java:26: cannot find symbol
symbol  : class TransactionFilterBuilder
location: class org.---.TransactionFilterBuilder

также моя подсказка говорит, что в строке 26 у меня есть несовместимые типы:
Требуемый : орг.---.TransactionFilter.TransactionFilterBuilder
Найдено : орг.---.TransactionFilter.TransactionFilterBuilder
эта вторая ошибка-дефект плагина, я думаю, и это не важно.

среда :

  • 0.9.1 - Lombok плагин версия
  • 14.0.3 сообщество-IntelliJ IDEA version
  • Java 1.6.0_31 или Java 1.6.0_45 (Java 1.6 необходим в project)
  • lombock.фляги включены в classpath
  • компилятор - > обработчики аннотаций установлены для "включить обработку аннотаций"

в других случаях мой плагин lombok работает нормально. Также в Eclipse этот пример также компилируется. Но когда я использую идею "@Builder", это не удается.
Я единственный, кто использует IntelliJ в своей команде, и я не хочу возвращаться к Eclipse : (.
У кого-нибудь были проблемы ?
Кто-нибудь может мне помочь ?

2 ответов


Я попытался воспроизвести с немного другой настройкой:

  • Java 8
  • Ломбок версия 1.16.2
  • Lombok Плагин 0.9.1
  • ш 2.3

мой код работает нормально. Единственная проблема, с которой я столкнулся, была следующая ошибка IntelliJ:

code

Я полагаю, что это может быть проблема с плагином, потому что компиляция идет без каких-либо проблем. Это может быть полезно, я использовал задачу Gradle build для сборник.

@Getter
@Builder
public class Foo {
    private String foo;

    public static FooBuilder fooBuilder(String foo) {
        FooBuilder builder = builder();
        builder.foo(foo);
        return builder;
    }

}

public class Bar {
    public static void main(String[] args) {
        Foo foo = Foo.fooBuilder("foo").build();
        System.out.println(foo.getFoo());
    }
}

apply plugin: 'java'

sourceCompatibility = 1.8
version = '1.0'

repositories {
    mavenCentral()
}

configurations {
    provided
    compile.extendsFrom provided
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    provided 'org.projectlombok:lombok:1.16.2'
}

быстрое обновление этой проблемы, некоторое время назад я вернул вопрос официальному плагину GitHub.
https://github.com/mplushnikov/lombok-intellij-plugin/issues/91
Проблема с @Builder for Jdk 1.6 известна и не будет исправлена.