2017-09-16 87 views
3

这里是 this project编译错误 - Groovy和龙目岛

我的Maven命令

mvn clean compile test-compile test 

,但我与

面临

[错误]没有更多标记 - 无法分析的错误信息: Groovy:无法解析类Delegate,无法找到注释类 [错误] 12. D:\ Projects \ lombok-groovy-example-master \ src \ main \ groovy \ prystasj \ lombok \ example \ groovy \ Rocket中的错误.groovy(在第5行) [ERROR] @Data

MVN --version

Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T22:39:06+03:00) 

Java的版本

java version "1.8.0_144" 
Java(TM) SE Runtime Environment (build 1.8.0_144-b01) 
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) 

代码从存储库

<properties> 
    <groovy.version>2.0.5</groovy.version> 
    <java.version>1.6</java.version> 
    <lombok.version>0.11.4</lombok.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <build> 
    <plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
    <compilerId>groovy-eclipse-compiler</compilerId> 
    <fork>true</fork> 
    <verbose>false</verbose> 
    <source>${java.version}</source> 
    <target>${java.version}</target> 
    <encoding>${project.build.sourceEncoding}</encoding> 
    <compilerArguments> 
    <javaAgentClass>lombok.core.Agent</javaAgentClass> 
    </compilerArguments> 
    </configuration> 
    <dependencies> 
    <dependency> 
    <groupId>org.codehaus.groovy</groupId> 
    <artifactId>groovy-eclipse-compiler</artifactId> 
    <version>2.7.0-01</version> 
    </dependency> 
    <dependency> 
    <groupId>org.projectlombok</groupId> 
    <artifactId>lombok</artifactId> 
    <version>${lombok.version}</version> 
    </dependency>//... 

类(上GIT中的不同文件!)

@Data 
public class Rocket { 
} 

回答

6

您不应该将Lombok用于Groovy,它只能用于Java。

Groovy中内置了批注@Canonical这你想要做什么:

  • 它创建有用的平等,的hashCode和toString方法
  • 它创建无参数和元组构造

所以在你的情况下使用:

@Canonical 
public class Rocket {} 

此外哟你不需要为Groovy中的字段创建getter和setter。如果您将任何字段添加到您的课程,Groovy将create getters and setters