Maven Groovy和Java + Lombok

我正在尝试将groovy添加到利用Lombok的现有Java Maven项目中。 不幸的是,当我使用下面的pom片段启用groovy-maven-eclipse编译器时,我的lombok注释的java文件无法编译。 据我所知,Lombok根本没有参与java文件的编译。

 maven-compiler-plugin 2.3.1  groovy-eclipse-compiler true    org.codehaus.groovy groovy-eclipse-compiler 2.6.0-01-SNAPSHOT    

我还应该指出,在eclipse中(使用m2e)一切正常。 当我尝试做一个mvn包时,我的问题出现了。

@Todd:如果你不需要使用一些常规工具开发maven插件,那么groovy-eclipse-compiler是最好的选择(参见http://groovy.codehaus.org/Groovy-Eclipse+compiler+plugin+for+Maven )。

@Ambience:您在http://jira.codehaus.org/browse/GRECLIPSE-1293上遇到了相关问题。 现在用最新的groovy-eclipse-compiler 2.6.1-01-SNAPSHOT修复了这个bug。

注意 :最新版本现在为2.9.1-01 ,请参阅http://docs.groovy-lang.org/latest/html/documentation/tools-groovyeclipse.html

你必须像这样修改你的pom:

  maven-compiler-plugin 3.1  groovy-eclipse-compiler true true  lombok.launch.Agent     org.codehaus.groovy groovy-eclipse-compiler 2.9.1-01    org.codehaus.groovy groovy-eclipse-batch 2.3.7-01   org.projectlombok lombok 1.16.4    

强制性部分:

 true  lombok.launch.Agent  

在maven-compiler-plugin中增加了对lombok的依赖

编辑:更新版本

在撰写本文时,正确的答案是并且仍然是被接受的答案。 我无意窃取这种声誉,但我也不想再次编辑它,因为它有点过时(例如链接到Codehaus),所以我基本上不得不重写它,以便更新它。

这是一个基于Maven POM的

  • Java 8
  • Maven编译器3.7.0
  • Groovy 2.4.7
  • Groovy Eclipse编译器2.9.3-01
  • Groovy Eclipse Batch 2.4.15-01
  • 龙目岛1.16.20

它还包含Maven Central上没有的最新Groovy Eclipse版本的插件存储库配置。

顺便说一下,我正在使用这个设置进行Spock + Geb测试。

   4.0.0 de.scrum-master.testing my-artifact 1.0-SNAPSHOT  UTF-8 UTF-8 1.8 1.8 2.9.3-01 2.4.15-01 1.16.20     bintray Groovy Bintray https://dl.bintray.com/groovy/maven  never   false       org.apache.maven.plugins maven-compiler-plugin 3.6.0  ${maven.compiler.source} ${maven.compiler.target}  false ${project.build.sourceEncoding}  groovy-eclipse-compiler   lombok.launch.Agent   true    org.codehaus.groovy groovy-eclipse-compiler ${version.groovy-eclipse-compiler}   org.codehaus.groovy groovy-eclipse-batch ${version.groovy-eclipse-batch}   org.projectlombok lombok ${version.lombok}     org.codehaus.groovy groovy-eclipse-compiler ${version.groovy-eclipse-compiler} true      org.codehaus.groovy groovy-all 2.4.7   org.projectlombok lombok ${version.lombok}    

阅读有关此主题的更多信息在Groovy-Eclipse wiki的Lombok部分中 。