簡體   English   中英

編譯錯誤 - Groovy和Lombok

[英]Compilation error - Groovy and Lombok

這是我的Maven命令

mvn clean compile test-compile test

這個項目

但我面對的是

[錯誤]沒有更多令牌 - 無法解析錯誤消息:Groovy:無法解析類Delegate,無法找到注釋類[ERROR] 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 -version

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 {
}

您不應該將Lombok用於Groovy,它只能用於Java。

Groovy內置了注釋@Canonical@Canonical您的需求:

  • 它創建有用的equals,hashCode和toString方法
  • 它創建no-arg和tuple構造函數

所以在你的情況下使用:

@Canonical
public class Rocket {}

此外,您不需要為Groovy中的字段創建getter和setter。 如果向類中添加任何字段,Groovy將創建getter和setter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM