@Getter @Setter анотацията не може да бъде преобразувана в тип

Опитвам се да автоматизирам методите getter и setter в моя JavaBean.

Тъй като конвенциите за именуване на методи и полета са описани за Beans @ Конвенция за именуване, трябва да има начин да се използват тези конвенции, за да се избегне кодът на бойлерната плоча, като писане на методи за получаване и настройка за всеки боб. Намерих един такъв начин тук.

Използвам Eclipse Helios IDE с Java SE 6 в моята Windows машина. Въпреки че Eclipse предоставя начин за генериране на getter и setter методи без изричното им писане, използването на анотации би направило кода много по-чист и четим.

Въпреки това, когато напиша следния код в моя Eclipse, получавам следната грешка @ време на компилация:

    private @Getter @Setter int price;

грешка:

Getter не може да бъде преобразуван в тип.
Setter не може да бъде преобразуван в тип.

Как да го разреша??


person whitehat    schedule 01.12.2011    source източник


Отговори (4)


@Getter и @Setter не са част от Java. Project Lombok има анотации с тези имена, така че трябва да разгледате как да го настроите.

person Laurence Gonsalves    schedule 01.12.2011
comment
те използвали ли са своя инструмент за обработка на анотации, за да направят това? - person whitehat; 01.12.2011
comment
Изтеглих lombak.jar, достъпен от тук. Добавих го в моя Eclipse и работи добре. Благодаря ти :) - person whitehat; 01.12.2011

Въпреки че работи, не трябва да го превръщате в редовна практика. Множество хора, работещи по един и същ код, може да нямат същата настройка, която имате вие.

Прекарахме почти цял ден, опитвайки се да разберем защо нещо не се компилира правилно на нашия сървър за изграждане и се оказа, че е причинено от някои анотации, които са автоматично генерирани от eclipes.

person psykeron    schedule 01.12.2011
comment
Тук не съм съгласен с теб. По някакъв начин предлагате да не използвате външни библиотеки и инструменти, защото други хора може да не ги познават. Ако увеличава производителността, като същевременно поддържа четливост, това обикновено е нещо добро ;-) - person M Platvoet; 01.12.2011

Хората, които все още може да не получават @Getter и @Setter разпознати от eclipse, трябва да следвате инструкциите за инсталиране на lombok.jar. За затъмнение ще трябва

В eclipse Изпълнете lombok.jar (щракнете двукратно върху него или изпълнете java -jar lombok.jar).

след това рестартирайте eclipse само тогава eclipse ще разпознае @Getter и @Setter. Просто наличието на lombok.jar в пътеката за изграждане може да не реши това на eclipse.

person Dinesh Khetarpal    schedule 23.07.2014

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.6</version>
        <scope>provided</scope>
    </dependency>

Разреших, като използвах тази зависимост в pom.xml.

person Leena Varshney    schedule 25.01.2019