Lombok - дело компиляции. Как только ваш код скомпилирован (у вас есть файлы классов), lombok не должен быть там / не будет ничего делать. Ломбок не библиотека в этом смысле. Вы не отправляете 'javac' вместе с вашим приложением.
Если lombok является частью компиляции, то lombok сделает свое дело. Если это не так, то ваш компилятор выдаст ошибку; в конце концов, он не знал бы, о чем @AllArgsConstructor
. Итак, если вы не наблюдаете каких-либо ошибок компиляции, lombok сделал свое дело *.
Во-вторых, сонар - это инструмент для подкладки. Он там, чтобы помочь вам. Если это «говорит вам» о написании кода, когда вы считаете, что это лучший способ сделать это, то попросите сонар прекратить жаловаться на это. Это инструмент для вас; не тюрьма.
Вы можете использовать javap
, чтобы проверить, есть ли конструктор all-args. Если это так (то так и должно быть), тогда ваш вопрос на самом деле: как мне заставить мой инструмент JPA использовать этот конструктор?
*) Возможно, но потребуется определенная работа, чтобы сказать javac иметь классы lombok доступными, но НЕ запускать их как процессор аннотаций. Но если вы справитесь с этим, то Ломбок не изменил бы ни один из ваших классов. Я предполагаю, что это не так, поскольку вам нужно go убрать с дороги множество переключателей командной строки, чтобы это произошло.