在工程中引入groovy
首先pom工程需要依赖 groovy-all, 然后配置maven-compiler使用groovyc
参考:https://github.com/groovy/groovy-eclipse/wiki/Groovy-Eclipse-Maven-plugin
pom文件参考
<dependencies>
...
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<classifier>indy</classifier>
<version>2.5.8</version>
</dependency>
...
</dependencies>
<build>
...
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version><!-- 3.6.2 is the minimum -->
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<compilerArguments>
<indy/><!-- optional; supported by batch 2.4.12-04+ -->
<configScript>config.groovy</configScript><!-- optional; supported by batch 2.4.13-02+ -->
</compilerArguments>
<failOnWarning>true</failOnWarning><!-- optional; supported by batch 2.5.8-02+ -->
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>3.6.0-03</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>2.5.8-03</version>
</dependency>
</dependencies>
</plugin>
</plugins>
...
</build>
注意,为了使用src/main/groovy, src/test/groovy中的源文件,你需要在src/main/java中至少放置一个空的文件,保证该目录非空,则groovy
lombok支持
需要引入lombok包以及指定lombok选项
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
</dependency>
<...>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<verbose>true</verbose>
<compilerArguments>
<!-- consult Lombok docs to confirm agent class name for your version -->
<javaAgentClass>lombok.launch.Agent</javaAgentClass>
</compilerArguments>
<fork>true</fork>
</configuration>
</...>
联合编译
当编译Java代码和Groovy代码时,可以通过-j选项指定联合编译。如果没有指定,则java源代码被groovyc当成groovy代码编译,这意味着其中的调用会变成动态调用。
因此,使用groovyc时,最好指定-j选项