Ломбок: RequiredArgsConstructor не работает

кажется,@RequiredArgsConstructor не работает в коде ниже. Почему?

import java.io.Serializable;

import lombok.Data;
import lombok.RequiredArgsConstructor;

@Data
@RequiredArgsConstructor
public class User implements Serializable {

    private String username;

    /*public User(String username) {
        this.username = username;
    }*/

    private static final long serialVersionUID = 8043545738660721361L;
}

Я получаю сообщение об ошибке:

javax.faces.el.EvaluationException: java.lang.Error: Unresolved compilation problem: 
    The constructor User(String) is undefined

по какой-то причине кажется, что он работает для другого класса домена, в котором не определен конструктор, но вместо этого используется @RequiredArgsConstructor Примечание.

2 ответов


по данным документация, Обязательными аргументами являются конечные поля и поля с ограничениями, такими как @NonNull.

вам нужно сделать имя пользователя как @NonNull

@NonNull private String username;

и вы должны сделать их окончательными тоже.


также стоит отметить, для будущих читателей, что @Data предоставляет @RequiredArgsConstructor, поэтому использование обеих аннотаций не требуется :)