Проблемы Ломбока с кислородом Eclipse

Недавно я обновил новую версию Eclipse (Oxygen). Я загрузил lombok.jar с веб-сайта и установил его. Вот как выглядит eclipse.ini после установки:

-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
C:\Users\xxx\.p2\pool\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.500.v20170531-1133
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
[email protected]/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
-Declipse.p2.max.threads=10
-Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
-javaagent:lombok.jar

Я могу использовать Ломбок, как показано здесь:

pojoclass outlineinfo

Но при использовании getters/seters и/или конструкторов в других классах я получаю следующие ошибки:

codeInfo введите описание изображения здесь

Также это мои версии Eclipse и Lombok:

Eclipse Java EE IDE for Web Developers.
Version: Oxygen Release (4.7.0)
Build id: 20170620-1800
Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/

Кто-нибудь знает, как я могу это исправить?

Ответ 1

Мой env: версия Java "1.8.0_144"

Затмение: Eclipse Java EE IDE для веб-разработчиков. Версия: Кислородный релиз (4.7.0) Идентификатор сборки: 20170620-1800

  1. Выйдите из Eclipse (если он открыт) и загрузите jar из https://projectlombok.org/download

  2. выполнить команду: java -jar lombok.jar

  3. Эта команда откроет окно, как показано здесь https://projectlombok.org/setup/eclipse, установите и выйдите из установщика.

  4. Добавьте jar для построения пути/добавьте его в pom.xml.

    например для сборки Gradle

 annotationProcessor("org.projectlombok:lombok")
 compileOnly("org.projectlombok:lombok")
  1. перезапустите затмение.
  2. Перейдите в Eclipse → О Eclipse → проверьте, установлен ли Lombok v1.16.18 "Танцующий слон". https://projectlombok.org/'
  3. 'Чтобы включить Lombok для проекта: Enable annotation processing в соответствующей IDE. Это. Это сработало. Я не изменил сценарий инициализации Eclipse.

Примечание. Прочитайте примечание на следующем изображении о параметрах -vm Если вы начинаете Затмение с пользовательским параметром -vm, вам нужно добавить:

-vmargs -javaagent:<path-to-lombok-jar>/lombok.jar

as parameter as well

Вышеуказанные шаги работают для Photon Release (4.8.0) - Lombok v1.18.2, eclipse: Oxygen.3a Release (4.7.3a) - Lombok v1.18.0 и eclipse: Neon.3 Release (4.6.3) - Lombok v1.18.2

Экран успеха Ломбок: enter image description here

FYI,
Для JDK - поддержка 10 и 11 support: Версия Lombok должна быть не ниже v1.18.4 (30 октября 2018 года) или выше.

Ответ 2

Для пользователей MacBook Pro (например, под управлением macOs Sierra v10.12.6), чтобы установить lombok на Eclipse Oxygen (4.7.0) или Photon (4.8.0), используя Java 1.8 (1.8.0_144), просто выполните следующие действия:

  1. Скачать ломбок с сайта Project Lombok;
  2. Закройте Eclipse IDE, если он открыт;
  3. Запустите установку lombok, выполнив официальные шаги установки или выполнив команду: java -jar lombok.jar;
  4. Если установщик lombok не найдет вашу Eclipse IDE, вам будет предложено ввести путь к Eclipse. Вы должны ввести путь к файлу eclipse.ini. В моем случае это был /tools/ide/eclipse/jee-oxygen/Eclipse.app/Contents/Eclipse/eclipse.ini.
  5. Выйдите из установщика и откройте Eclipse.
  6. В строке меню перейдите в Eclipse> About Eclipse и проверьте, установлен ли lombok:

    Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/
    

    Обязательно прокрутите текстовое окно вниз, так как установленная версия Lombok появляется в тексте над строкой значков.

  7. Наконец, добавьте lombok в путь сборки вашего проекта в соответствии с используемым инструментом сборки. Например, для Maven используйте следующую зависимость:

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

Ответ 3

Были проблемы с Eclipse Oxygen, Java 1.9 и Lombok (на Mac OSX - windows/linux должны быть похожими).

Вот что я должен был сделать:

  1. Загрузите последний lombok: 1.16.20
  2. Откройте Eclipse, проверьте наличие обновлений и установите их все. Убедитесь, что Eclipse обновлен до последней версии.
  3. Выходное затмение.
  4. java -jar lombok.jar
  5. Убедитесь, что в Eclipse указано правильное расположение в всплывающем окне установщика. Я должен был явно указать: /[some-folder-heirarchy]/Eclipse.app/Contents/Eclipse/eclipse.ini

После этого проверьте, сделаны ли обновления в eclipse.ini:

-javaagent:/[some_folder-hierarchy]/eclipse-oxygen/Eclipse.app/Contents/Eclipse/lombok.jar

Обновлена только одна строка. Это изменение некоторых из более ранних версий lombok, где bootclasspath к lombok.jar bootclasspath также указан и/или путь к lombok.jar относителен. Теперь это абсолютный путь.

Поднимите затмение, и вы увидите Ломбок в действии.

И не забывайте использовать ту же версию Lombok в вашем maven или любом другом инструменте управления зависимостями.

Редактировать 1: Я также использовал другую версию Lombok в maven POM отличную от той, которая установлена в eclipse и по большей части все было скомпилировано, но в eclipse было несколько ошибок компиляции. Конечно, все успешно скомпилировано в командной строке с maven. Так что, если у вас есть зависимости проекта, которые вынуждают вас использовать разные версии Lombok, знайте о такой возможности. Суть в том, чтобы одна и та же версия была установлена как в eclipse и в вашем управлении зависимостями проекта (maven и т.д.).

Ответ 4

Не используйте старые версии Java.

Что происходит, так это то, что lombok помещает следующую строку в ваш eclipse.ini:

-javaagent: lombok.jar

И lombok.jar находится в каталоге C:\eclipse\jee-oxygen\eclipse

Проблема в том, что ярлык, созданный установкой Windows, выглядит следующим образом:

enter image description here

Заполните путь "Начать с", и он будет работать:

enter image description here

Ответ 5

Для пользователей Linux/Ubuntu, которые запускают Eclipse из модуля запуска (файл .desktop), который заблокирован в вашем модуле запуска, а в диалоговом окне "Справка → О программе" не показано, что установлен lombok:

  1. Закрыть затмение
  2. Разблокировать Eclipse с вашего запуска
  3. Запустите Eclipse из приложения .desktop
  4. Убедитесь, что "Справка → О программе" означает, что установлен lombok (прокрутите вниз)
  5. Снова зафиксируйте свой лаунчер

Кажется, это работает из-за некоторой проблемы с приложениями 'lock to launcher', и именно процесс разблокировки/блокировки исправляет это.

(Благодаря кардамону комментарию здесь, который указал мне на это решение)

Ответ 6

У меня была такая же проблема с Алексом. Моя версия затмения

Версия: Oxygen.1a Release (4.7.1a) Код сборки: 20171005-1200

Я установил lombok 1.16.18, после проверки, что он уже установлен, а также строка javaagent была добавлена ​​в мой файл eclipse.ini.

Все было прекрасно, кроме ошибок компиляции, когда в проекте вызывается getter. Это неудобно, но я исправил:

  • Проект очистки

  • Проект строительства

  • Несколько раз перезапустить eclipse

Больше ничего.

Ответ 7

Решение:

  • Установите lombok 1.16.18, как указано на сайте lombok. Это лучше Eclipse закрывается во время установки.

  • Убедитесь, что Eclipse можно запустить правильно. В ярлыке измените свойства и заполните " Пуск в", и он будет работать, как отметил Томас и Фабиано.

  • Как только Eclipse откроется, обновите Maven в проекте, чтобы решить ошибки компиляции.

  • Теперь последняя версия Lombok работает с последней версией Eclipse.

Для справки:

My Eclipse: Oxygen

Version: Oxygen.2 Release (4.7.2)
Build id: 20171218-0600 

My JRE/JDK: 1.8

java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

lombok 1.16.18

Ответ 8

Ломбок не работает на Eclipse Neon

 - You should not just "restart" Eclipse, go to File -> Exit and then
   open it again.
 - Don't forget to do a mvn clean just to make sure that you recompiled your classes. 
 - After all this you should also right-click on your project, then Maven -> Update Project

Ответ 9

У меня была та же проблема, однако первоначальная разработка была выполнена с lombok 1.16.10, и я установил 1.16.18. Когда я загрузил и установил 1.16.10, все сработало. Мне, вероятно, нужно было сделать несколько чисток и перестроек, чтобы заставить его работать с .18, но если вы спешите, попробуйте это.

Ответ 10

Имел подобную проблему, но на самом деле не помню, что мне помогло. Конечно, вы можете попробовать перезапустить Eclipse. Убедитесь, что вы указали правильный путь Eclipse в установке lombok. В этой теме вы найдете другие потенциальные решения: Невозможно заставить Project Lombok работать над Eclipse (Helios)

Ответ 11

Также были проблемы с ломбоком в затмении кислорода.

Мое решение: вернулось из java-версии 8u144 в 8u141.

И я ссылаюсь на lombok, добавив это в свой eclipse.ini:

-Xbootclasspath/с:/DEV/Tools/lombok-1.16.18/lombok.jar

-javaagent:/DEV/Tools/lombok-1.16.18/lombok.jar

Ответ 12

Если перезапуск Eclipse не помогает. Вам нужно выйти из приложения и не забудьте убить все запущенные java-процессы. Это сработало для меня.

(Eclipse Oxygen 4.7.1a, OpenJDK 1.8.0_151-b12)

Ответ 13

Довольно много решений, ни одно из них не решило мою проблему.

Eclipse Oxygen 3a April 2018 установщик работает нормально,

Моя проблема заключалась в запуске затмения на DCEVM JRE. Указание Eclipse на немодифицированную JVM решило эту проблему.

Ответ 14

Я использую СТС. После выполнения установки lombok.jar, показанной выше, необходимо выполнить следующую задачу. STS → Проект → Свойства → Компилятор Java → Обработка аннотаций → Включить обработку аннотаций. Смотри здесь

Ответ 15

Я попробовал все это, но у меня не получилось. Библиотеки Lombok все еще не добавлялись в мой путь к классам.

Я использовал последнюю версию весенней загрузки

2.1.9.RELEASE

когда я сократил это до следующей версии, которая работала для меня

2.1.7.RELEASE

Ответ 16

Здравствуйте, я решил эту проблему, просто редактируя зависимость lombok в pom.xml

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

Эта версия, кажется, работает с Java 8.