Проблема с тем, что Lombok не генерирует геттеры и сеттеры или конструктор и даже @Data в проекте Spring Boot. ⇐ JAVA
Проблема с тем, что Lombok не генерирует геттеры и сеттеры или конструктор и даже @Data в проекте Spring Boot.
Я использовал Spring Boot для инициализации своего проекта, и действительно, я включил зависимость Lombok через Spring Boot и настроил плагин Lombok следующим образом:
И я использую IDE — Eclipse
4.0.0 org.springframework.boot spring-boot-starter-parent 3.2.0-SNAPSHOT com.springbootExample SpringBoot_Example 0.0.1-SNAPSHOT SpringBoot_Example Демо-проект для Spring Boot 17 org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-validation org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools время выполнения истина com.h2database h2 время выполнения com.microsoft.sqlserver mssql-jdbc 12.4.2.jre11 org.projectlombok ломбок истина org.springframework.boot spring-boot-starter-test тест org.springframework.boot spring-boot-maven-plugin org.projectlombok ломбок весенние вехи Основные события весны https://repo.spring.io/milestone ложь весенние снимки Весенние снимки https://repo.spring.io/snapshot ложь весенние вехи Основные события весны https://repo.spring.io/milestone ложь весенние снимки Весенние снимки https://repo.spring.io/snapshot ложь Однако, когда я использую его в своем классе сущности с именем Department.java, оказывается, что Lombok не работает должным образом. Даже после аннотации класса с помощью @Data, @NoArgsConstructor, @AllArgsConstructor и @Builder проблема сохраняется.
пакет com.springbootExample.SpringBoot_Example.entity; импортировать jakarta.persistence.Entity; импортировать jakarta.persistence.GeneratedValue; импортировать jakarta.persistence.GenerationType; импортировать jakarta.persistence.Id; импортировать jakarta.validation.constraints.NotBlank; импортировать ломбок.AllArgsConstructor; импорт ломбок.Builder; импортировать ломбок.Данные; импортировать ломбок.NoArgsConstructor; @Сущность @Данные @NoArgsConstructor @AllArgsConstructor @Builder отдел общественного класса { @Идентификатор @GeneratedValue(стратегия = GenerationType.AUTO) частный длинный идентификатор отдела; @NotBlank(message = «Пожалуйста, добавьте название отдела») // @Length(макс = 20, мин = 10) // @Размер // @Электронная почта // @Позитив // @Негатив // @PositiveOrZero // @Будущее // @Прошлое // @FutureOrPresent частная строка имя отдела; частный строковый отделАдрес; частная строка DepartmentCode; } В другом конфигурационном классе Java я также не могу использовать методы получения и установки класса отдела.
пакет com.springbootExample.SpringBoot_Example.service; импортировать java.util.List; импортировать java.util.Objects; импортировать java.util.Необязательно; импортировать org.springframework.beans.factory.annotation.Autowired; импортировать org.springframework.stereotype.Service; импортировать com.springbootExample.SpringBoot_Example.entity.department; импортировать com.springbootExample.SpringBoot_Example.error.departmentExceptionHandling; импортировать com.springbootExample.SpringBoot_Example.repository.departmentRepository; @Услуга публичный класс DepartmentServiceImplement реализует отделService{ @Autowired частный отделРепозиторий др; @Override государственный отдел saveDepartment(департамент dp) { вернуть dr.save(дп); } @Override публичный список fetchDepartment() { вернуть dr.findAll(); } @Override государственный отдел fetchDepartmentById(Long DepartmentID) бросает DepartmentExceptionHandling { Необязательный dpt = dr.findById(departmentID); если(!dpt.isPresent()) { throw new DepartmentExceptionHandling("Отдел не найден"); } вернуть dpt.get(); } @Override public void deleteDepartmentById (Long DepartmentID) { dr.deleteById(идентификатор отдела); } @Override государственный отдел updateDepartment(Long DepartmentID, Department dp) { отдел отдел = dr.findById(departmentID).get(); if(Objects.nonNull(dp.getDepartmentName()) && !"".equalsIgnoreCase(dp.getDepartmentName())) { dep.setDepartmentName(dp.getDepartmentName()); } if(Objects.nonNull(dp.getDepartmentCode()) && !"".equalsIgnoreCase(dp.getDepartmentCode())) { dep.setDepartmentCode(dp.getDepartmentCode()); } if(Objects.nonNull(dp.getDepartmentAdress()) && !"".equalsIgnoreCase(dp.getDepartmentAdress())) { dep.setDepartmentAdress(dp.getDepartmentAdress()); } вернуть dr.save(деп); } @Override государственный отдел fetchDepartmentByName(String DepartmentName) { return DepartmentRepository.findByDepartmentNameIgnoreCase(departmentName); } } Ошибки отображаются как
Метод getDepartmentName() не определен для отдела типа Метод getDepartmentCode() не определен для типа отдела. Метод getDepartmentAdress() не определен для отдела типа. Вы, ребята, можете увидеть изображение ниже
Я попробовал несколько решений, таких как обновление интегрированной среды разработки, изменение плагинов Lombok и установка Lombok, но ни одно из них не решило проблему.
Если кто-то сталкивался с подобной проблемой и знает, как ее решить, буду очень признателен за помощь.
Заранее спасибо.
Я использовал Spring Boot для инициализации своего проекта, и действительно, я включил зависимость Lombok через Spring Boot и настроил плагин Lombok следующим образом:
И я использую IDE — Eclipse
4.0.0 org.springframework.boot spring-boot-starter-parent 3.2.0-SNAPSHOT com.springbootExample SpringBoot_Example 0.0.1-SNAPSHOT SpringBoot_Example Демо-проект для Spring Boot 17 org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-validation org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools время выполнения истина com.h2database h2 время выполнения com.microsoft.sqlserver mssql-jdbc 12.4.2.jre11 org.projectlombok ломбок истина org.springframework.boot spring-boot-starter-test тест org.springframework.boot spring-boot-maven-plugin org.projectlombok ломбок весенние вехи Основные события весны https://repo.spring.io/milestone ложь весенние снимки Весенние снимки https://repo.spring.io/snapshot ложь весенние вехи Основные события весны https://repo.spring.io/milestone ложь весенние снимки Весенние снимки https://repo.spring.io/snapshot ложь Однако, когда я использую его в своем классе сущности с именем Department.java, оказывается, что Lombok не работает должным образом. Даже после аннотации класса с помощью @Data, @NoArgsConstructor, @AllArgsConstructor и @Builder проблема сохраняется.
пакет com.springbootExample.SpringBoot_Example.entity; импортировать jakarta.persistence.Entity; импортировать jakarta.persistence.GeneratedValue; импортировать jakarta.persistence.GenerationType; импортировать jakarta.persistence.Id; импортировать jakarta.validation.constraints.NotBlank; импортировать ломбок.AllArgsConstructor; импорт ломбок.Builder; импортировать ломбок.Данные; импортировать ломбок.NoArgsConstructor; @Сущность @Данные @NoArgsConstructor @AllArgsConstructor @Builder отдел общественного класса { @Идентификатор @GeneratedValue(стратегия = GenerationType.AUTO) частный длинный идентификатор отдела; @NotBlank(message = «Пожалуйста, добавьте название отдела») // @Length(макс = 20, мин = 10) // @Размер // @Электронная почта // @Позитив // @Негатив // @PositiveOrZero // @Будущее // @Прошлое // @FutureOrPresent частная строка имя отдела; частный строковый отделАдрес; частная строка DepartmentCode; } В другом конфигурационном классе Java я также не могу использовать методы получения и установки класса отдела.
пакет com.springbootExample.SpringBoot_Example.service; импортировать java.util.List; импортировать java.util.Objects; импортировать java.util.Необязательно; импортировать org.springframework.beans.factory.annotation.Autowired; импортировать org.springframework.stereotype.Service; импортировать com.springbootExample.SpringBoot_Example.entity.department; импортировать com.springbootExample.SpringBoot_Example.error.departmentExceptionHandling; импортировать com.springbootExample.SpringBoot_Example.repository.departmentRepository; @Услуга публичный класс DepartmentServiceImplement реализует отделService{ @Autowired частный отделРепозиторий др; @Override государственный отдел saveDepartment(департамент dp) { вернуть dr.save(дп); } @Override публичный список fetchDepartment() { вернуть dr.findAll(); } @Override государственный отдел fetchDepartmentById(Long DepartmentID) бросает DepartmentExceptionHandling { Необязательный dpt = dr.findById(departmentID); если(!dpt.isPresent()) { throw new DepartmentExceptionHandling("Отдел не найден"); } вернуть dpt.get(); } @Override public void deleteDepartmentById (Long DepartmentID) { dr.deleteById(идентификатор отдела); } @Override государственный отдел updateDepartment(Long DepartmentID, Department dp) { отдел отдел = dr.findById(departmentID).get(); if(Objects.nonNull(dp.getDepartmentName()) && !"".equalsIgnoreCase(dp.getDepartmentName())) { dep.setDepartmentName(dp.getDepartmentName()); } if(Objects.nonNull(dp.getDepartmentCode()) && !"".equalsIgnoreCase(dp.getDepartmentCode())) { dep.setDepartmentCode(dp.getDepartmentCode()); } if(Objects.nonNull(dp.getDepartmentAdress()) && !"".equalsIgnoreCase(dp.getDepartmentAdress())) { dep.setDepartmentAdress(dp.getDepartmentAdress()); } вернуть dr.save(деп); } @Override государственный отдел fetchDepartmentByName(String DepartmentName) { return DepartmentRepository.findByDepartmentNameIgnoreCase(departmentName); } } Ошибки отображаются как
Метод getDepartmentName() не определен для отдела типа Метод getDepartmentCode() не определен для типа отдела. Метод getDepartmentAdress() не определен для отдела типа. Вы, ребята, можете увидеть изображение ниже
Я попробовал несколько решений, таких как обновление интегрированной среды разработки, изменение плагинов Lombok и установка Lombok, но ни одно из них не решило проблему.
Если кто-то сталкивался с подобной проблемой и знает, как ее решить, буду очень признателен за помощь.
Заранее спасибо.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение