Задать вопрос
@UnknownU

Почему конструктор build из lombok выдает такую ошибку?

Когда я пытаюсь сбилдить проект, получаю ошибку:
java: cannot find symbol
symbol: method builder()


Вот, где я вызываю метод builder класса TgUser:
private TgUser findOrSaveTelegramUser(User user) {
        TgUser persistentTgUser = tgUserDAO.findTelegramUsersByUID(user.getId());
        if (persistentTgUser == null) {
            TgUser transientTgUser = TgUser.builder()
                    .uid(user.getId())
                    .username(user.getUserName())
                    .isActive(false)
                    .build();

            return tgUserDAO.save(transientTgUser);
        }
        return persistentTgUser;
    }


Класс TgUser:
import jakarta.persistence.*;
import lombok.*;
import org.hibernate.annotations.CreationTimestamp;

import java.time.LocalDateTime;

@Getter
@Setter
@EqualsAndHashCode(exclude = "id")
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "tg_users")
public class TgUser {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private Long uid;
    private String username;
    private String email;
    private Boolean isActive;
}


Посмотрел использование аннотации @Builder из lombok, и сделал все правильно как я думаю. Но я чего-то не вижу и не понимаю почему возникает ошибка, прошу пожалуйста помочь
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@UnknownU Автор вопроса
Я пересмотрел свои зависимости в pomнике, обновил версию lombok до последней стабильной, и указал версию плагина:
<!-- ..... -->

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.11.0</version>
			<configuration>
				<source>17</source>
				<target>17</target>
				<annotationProcessorPaths>
					<path>
						<groupId>org.projectlombok</groupId>
						<artifactId>lombok</artifactId>
						<version>1.18.36</version>
					</path>
				</annotationProcessorPaths>
			</configuration>
		</plugin>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<version>3.4.0</version>
			<configuration>
				<excludes>
					<exclude>
						<groupId>org.projectlombok</groupId>
						<artifactId>lombok</artifactId>
						<version>1.18.30</version>
					</exclude>
				</excludes>
			</configuration>
		</plugin>
	</plugins>
</build>


До этого версия не была указана, что бывает проблемой "плавающих" багов, которые трудно воспроизвести, т.к. без указания версии используется последняя доступная в maven.

После этого ошибки не возникло, скорее всего проблема была именно в этом
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы