[英]Compilation error - Groovy and Lombok
Here is my Maven command 这是我的Maven命令
mvn clean compile test-compile test
for this project 这个项目
but I am facing with 但我面对的是
[ERROR] no more tokens - could not parse error message: Groovy:unable to resolve class Delegate , unable to find class for annotation [ERROR] 12. ERROR in D:\\Projects\\lombok-groovy-example-master\\src\\main\\groovy\\prystasj\\lombok\\example\\groovy\\Rocket.groovy (at line 5) [ERROR] @Data [错误]没有更多令牌 - 无法解析错误消息:Groovy:无法解析类Delegate,无法找到注释类[ERROR] 12. D:\\ Projects \\ lombok-groovy-example-master \\ src \\ main中的错误\\ groovy \\ prystasj \\ lombok \\ example \\ groovy \\ Rocket.groovy(第5行)[ERROR] @Data
mvn --version mvn --version
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T22:39:06+03:00)
java -version 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)
Code from repository 存储库中的代码
<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>//...
Class (file on git differs!) 类(git上的文件不同!)
@Data
public class Rocket {
}
You shouldn't use Lombok for Groovy, it is intended to be used only with Java. 您不应该将Lombok用于Groovy,它只能用于Java。
Groovy has built-in annotation @Canonical
which does what you want: Groovy内置了注释@Canonical
, @Canonical
您的需求:
So in your case use: 所以在你的情况下使用:
@Canonical
public class Rocket {}
Additionally you don't need to create getters and setters for fields in Groovy. 此外,您不需要为Groovy中的字段创建getter和setter。 If you add any field to your class, Groovy would create getters and setters . 如果向类中添加任何字段,Groovy将创建getter和setter 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.