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:
Я полагаю, что это может быть проблема с плагином, потому что компиляция идет без каких-либо проблем. Это может быть полезно, я использовал задачу 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 известна и не будет исправлена.