2017-09-16 89 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