@Groovy 2.3.0中的生成器

@Groovy 2.3.0中的生成器,groovy,intellij-idea,Groovy,Intellij Idea,我正在尝试使用IntelliJ Idea 13.1.1运行上显示的简单@Builder示例 创建了一个香草groovy项目并粘贴了代码后,我在Person类上声明@Builder时收到以下警告: 缺少的属性:forClass、前缀、builderClassName、buildMethodName、builderMethodName (基本上是所有没有默认值的属性。) IDE也没有看到默认情况下应该添加到Person类的builder()方法,这表明没有应用AST 当脚本实际执行时,其行为符合预期

我正在尝试使用IntelliJ Idea 13.1.1运行上显示的简单@Builder示例

创建了一个香草groovy项目并粘贴了代码后,我在Person类上声明@Builder时收到以下警告:

缺少的属性:forClass、前缀、builderClassName、buildMethodName、builderMethodName

(基本上是所有没有默认值的属性。)

IDE也没有看到默认情况下应该添加到Person类的
builder()
方法,这表明没有应用AST

当脚本实际执行时,其行为符合预期。那么为什么我会在IDE中看到这些错误呢

更新:

如果尝试从Gradle构建,则在groovy编译期间会出现以下错误:

无法加载builderStrategy'groovy.transform.builder.DefaultStrategy'java.lang.ClassCastException:groovy.transform.builder.DefaultStrategy无法强制转换为org.codehaus.groovy.transform.builderasTransformation$builderStrategy
@第3行第1列。
@建筑商

如果我尝试切换到SimpleStrategy而不是DefaultStrategy,我会得到:

@builder上的builderStrategy类groovy.transform.builder.SimpleStrategy不是一个builderStrategy @第4行第1列。
@构建器(builderStrategy=SimpleStrategy)IntelliJ不构建/考虑Groovy AST。(这将是脆弱和缓慢的。)因此,除非有人向IntelliJ添加对
@Builder
的支持,否则IntelliJ不会理解它。我建议提交一个功能请求

@Builder
实现中,已将
@Builder
和Gradle的问题标识为错误。请看我的答案

更新:Groovy bug归档已通过Groovy 2.3.2版解决