Java IntelliJ 14+;Lombok插件+@生成器=错误
我的IntelliJ 14和Lombok注释“@Builder”有问题。Java IntelliJ 14+;Lombok插件+@生成器=错误,java,intellij-idea,lombok,Java,Intellij Idea,Lombok,我的IntelliJ 14和Lombok注释“@Builder”有问题。 我有一些课程: @Getter @Builder public class TransactionFilter { private String name; private ProductType product; ... public static TransactionFilterBuilder defaultBuilder() { Transacti
我有一些课程:
@Getter
@Builder
public class TransactionFilter {
private String name;
private ProductType product;
...
public static TransactionFilterBuilder defaultBuilder() {
TransactionFilterBuilder builder = builder();
builder.product(ProductType.DEFAULT);
return builder;
}
}
我试图在另一个类中使用its生成的生成器:
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
TransactionFilter java:26:找不到符号
符号:类TransactionFilterBuilder
位置:类组织。--.TransactionFilterBuilder
我的工具提示还说,第26行中有不兼容的类型:必需:组织。--.TransactionFilter.TransactionFilterBuilder
找到:org.-.TransactionFilter.TransactionFilterBuilder
我想这第二个错误是插件缺陷,并不重要。 环境:
- 0.9.1-Lombok插件版本
- 14.0.3社区-IntelliJ IDEA版本
- Java 1.6.0_31或Java 1.6.0_45(项目中需要Java 1.6)
- lombock.jar包含在类路径中
- 编译器->注释处理器设置为“启用注释处理”
我是团队中唯一一个使用IntelliJ的人,我不想回到Eclipse:(.
有人有这个问题吗?
有人能帮我吗?我试着用不同的设置复制:
- 爪哇8
- Lombok版本1.16.2
- Lombok插件0.9.1
- 梯度2.3
@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。
关于@Builder for Jdk 1.6的问题是已知的,不会解决。感谢@lusiak的回答,但它仍然不起作用。我认为这两个错误是相关的,但它们不是。当我使用Java 1.7运行这个示例时,它会编译,并且只显示IntelliJ错误。但是当我使用Java 1.6编译时(这是我们团队项目中需要的)它失败了。最奇怪的是,Eclipse在Java 1.6上编译这段代码时没有问题……你使用过Maven或Gradle这样的构建系统吗?是的,我使用Maven。如果你想看看它,我刚刚在GitHub上推出了一个示例:我只是克隆了你的repo,它对我来说运行良好。我没有安装Java 6,但我更改了项目语言级别设置为1.6,并在pom.xml中设置它,它仍然适用于我。哇,感谢您的承诺!:-)不幸的是,它不是…我需要使用Build->make project中使用的工具创建项目(Ctrl+F9 def keymap)。为什么?在现代项目中,这个例子也会有帮助。但我们的团队项目有点旧。它甚至不是一个Mvn项目。我们使用配置了virtualClasspath=“C:/example/classes”的Tomcat。当我使用“make”或“make project automatically”功能时,它会将类编译为“C:/example/classes”多亏了Tomcat热插拔,我可以在不重新部署的情况下立即看到更改。只有基于make的解决方案才能有所帮助…该死,这是一个困难的解决方案。。。