java 编译错误- Groovy和Lombok

wh6knrhe  于 2023-09-29  发布在  Java
关注(0)|答案(2)|浏览(201)

下面是我的Maven命令

mvn clean compile test-compile test

对于this project
但我面对的是
[错误]没有更多令牌-无法解析错误消息:Groovy:无法解析类Delegate,无法找到注解的类[ERROR] 12.错误在D:\Projects\lombok-groovy-example-master\src\main\groovy\prystasj\lombok\example\groovy\Rocket.groovy(at line 5)[ERROR] @Data
mvn --版本

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

sdnqo3pr1#

你不应该在Groovy中使用Lombok,它只适合与Java一起使用。
Groovy有一个内置的annotation @Canonical,它可以实现你想要的功能:

  • 它创建了有用的equals、hashCode和toString方法
  • 它创建无参数和元组构造函数

所以在你的情况下用途:

@Canonical
public class Rocket {}

另外,您不需要为Groovy中的字段创建getter和setter。如果您向类中添加任何字段,Groovy将创建getter和setter。

zysjyyx4

zysjyyx42#

我在使用Lombok和Groovy时也遇到了问题。(它没有生成任何代码)所以我只是将我的模型类更改为.java,并在java类上做了lombok的事情。由于我们可以毫无问题地混合使用java和groovy代码,我现在可以毫无问题地使用它了。

相关问题