龙目岛与Gradle构建

时间:2018-07-19 11:04:30

标签: java gradle lombok

我正在尝试使用SpringBootLombok开发一个Web应用程序,以减少样板代码。

虽然带注释的类工作正常,但目标类却出现编译错误。

我不是试图通过IDE进行编译,而是直接使用gradlew构建通过命令行进行编译。

关于如何将Lombokgradle集成以构建和生成jar的任何建议都会很有帮助。

Git存储库:https://github.com/ashubisht/sample-sbs.git

我得到的错误是:

 \sample-sbs\src\main\java\com\sample\springboot\Controllers\RestControllerClass.java:28:
 error: constructor Customer in class Customer cannot be applied to given types;

 customerDAO.insert(new Customer(1, "Utkarsh", 25));
                               ^
 required: no arguments
 found: int,String,int
 reason: actual and formal argument lists differ in length
 1 error

使用@Data注释对客户类进行注释。

2 个答案:

答案 0 :(得分:0)

在当前的lombok版本1.18.0中,有an issue with Gradle 4.9,它将在即将发布的lombok版本1.18.2中得到修复。

如果您使用的是Gradle 4.9,请降级Gradle,等待lombok 1.18.2,或使用current lombok edge release

答案 1 :(得分:0)

在您的Customer类中,您要在构造函数中初始化的所有字段都是非最终的。

由于@Data注释仅添加了@RequiredArgsConstructor,因此您不能在构造函数中初始化非最终字段,而不用@AllArgsConstructor显式注释此类。

因此,您需要使用@AllArgsConstructor注释类,或使用setter初始化对象。