Аннотация @Getter @Setter не может быть преобразована в тип

Я пытаюсь автоматизировать методы получения и установки в моем JavaBean.

Поскольку соглашения об именах методов и полей описаны для Beans @ Соглашение об именах, должен быть способ использовать эти соглашения, чтобы избежать шаблонного кода, такого как написание методов получения и установки для каждого компонента. Я нашел один такой способ здесь.

Я использую Eclipse Helios IDE с Java SE 6 на своем компьютере с Windows. Хотя Eclipse предоставляет способ генерировать методы получения и установки без их явного написания, использование аннотаций сделало бы код намного чище и читабельнее.

Однако, когда я пишу следующий код в своем 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