我的
integrationTest
文件夹中有以下代码
import lombok.Builder;
public final class TestHelper {
private TestHelper() {
throw new IllegalStateException("Utility Class");
}
@Builder(builderMethodName = "buildDbConn")
public static void dBConnectionBuilder(String dbUrl,String dbUser) {
//..
}
public void buildTestExample(){
buildDbConn()
.dbUrl("url")
.dbUser("usr")
.build();
}
}
gradle.build我有
compileOnly "org.projectlombok:lombok"
annotationProcessor "org.projectlombok:lombok"
testImplementation "org.projectlombok:lombok"
编译时仍然出现以下错误:
error: cannot find symbol
buildDbConn()
^
symbol: method buildDbConn()
location: class TestHelper
此外,同一个项目我在
main
文件夹下有使用 @Builder 实现的开发代码,没有任何编译问题。
请参阅 lombok 文档中的 gradle 设置
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
testCompileOnly 'org.projectlombok:lombok:1.18.30'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.30'
}
@Builder
注释,从来没有在像这样的静态方法上使用过。例如
@AllArgsConstructor
@Builder(builderMethodName = "buildDbConn")
@Getter
public final class TestHelper {
private final String dbUrl;
private final String dbUser;
public TestHelper buildTestExample(){
return TestHelper.buildDbConn().dbUrl("url").dbUser("usr").build();
}
}