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行我有不兼容的类型:
必需:org .---。TransactionFilter.TransactionFilterBuilder
发现:org .--- TransactionFilter.TransactionFilterBuilder
这第二个错误是我猜的插件缺陷,并不重要。
环境 :
在其他情况下,我的lombok插件工作正常。 在Eclipse下也可以编译这个例子。 但是,当我使用IDEA“@Builder”失败。
我是唯一在我的团队中使用IntelliJ的人,我不想回到Eclipse :(。
任何人有这个问题?
有人能帮我吗 ?
我试图用一些不同的设置重现:
我的代码工作正常。 我遇到的唯一问题是下面的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的问题是已知的,不会被修复。