带有Gradle的Lombok(io.freefair.Lombok插件)创建了大量JavaDoc警告



我正在使用Gradle来包含Lombok,并且我正在使用freefair Lombok插件,这是推荐的;

plugins {
id "io.freefair.lombok" version "6.0.0-m2"
// ...
}

给定以下类别:

/**
* Request to add a task to an existing todo list.
* 
* @author b_muth
*
*/
@Value
public class AddTaskRequest{
/**
* Identifier of the list.
*/
@NonNull UUID todoListId;

/**
* Name of the task to be added.
*/
@NonNull String taskName;
}

我收到以下警告:

C:...generatedsourcesdelombok...AddTaskRequest.java:23: warning: no comment
public AddTaskRequest(@NonNull final UUID todoListId, @NonNull final String taskName)
C:...generatedsourcesdelombok...AddTaskRequest.java:38: warning: no @return
public UUID getTodoListId() { 

还有更多。据我所知,freefair使用了delombok,但没有在生成的源代码中创建足够的JavaDoc。以下是生成的类的摘录:

/**
* Request to add a task to an existing todo list.
* 
* @author b_muth
*/
public final class AddTaskRequest {
/**
* Identifier of the list.
*/
@NonNull
private final UUID todoListId;
/**
* Name of the task to be added.
*/
@NonNull
private final String taskName;
public AddTaskRequest(@NonNull final UUID todoListId, @NonNull final String taskName) {
if (todoListId == null) {
throw new NullPointerException("todoListId is marked non-null but is null");
}
if (taskName == null) {
throw new NullPointerException("taskName is marked non-null but is null");
}
this.todoListId = todoListId;
this.taskName = taskName;
}
/**
* Identifier of the list.
*/
@NonNull
public UUID getTodoListId() {
return this.todoListId;
}
...
}

有没有办法阻止这些警告的发生?

请看一下这里的(de(lombok文档,它解释了如何处理javadoc注释:https://projectlombok.org/features/GetterSetter

lombok v1.12.0中的

NEW:字段上的javadoc现在将被复制到生成的getter和setter中。通常,所有文本都被复制,@return被移动到getter,而@param行被移动到setter。Moved表示:从字段的javadoc中删除。还可以为每个getter/setter定义唯一的文本。为此,您可以创建一个名为GETTER和/或SETTER的"section"。节是javadoc中的一行,包含2个或多个短划线,然后是文本"GETTER"或"SETTER",后面跟着2个或更多短划线,行上没有其他内容。如果使用剖面,则该剖面的@return@param剥离将不再完成(将@return@param线移动到剖面中(。

编辑:

您也可以通过在javadoc任务中添加-Xdoclint:-missing选项来消除警告,而不是修复javadoc注释本身:

tasks.withType(Javadoc) {
options.addBooleanOption("Xdoclint:-missing", true)
}

最新更新