Проблемы Ломбока с кислородом 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
Я могу использовать Ломбок, как показано здесь:
![outlineinfo]()
Но при использовании getters/seters и/или конструкторов в других классах я получаю следующие ошибки:
![введите описание изображения здесь]()
Также это мои версии 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
Выйдите из Eclipse (если он открыт) и загрузите jar из https://projectlombok.org/download
выполнить команду: java -jar lombok.jar
Эта команда откроет окно, как показано здесь https://projectlombok.org/setup/eclipse, установите и выйдите из установщика.
Добавьте jar для построения пути/добавьте его в pom.xml.
например для сборки Gradle
annotationProcessor("org.projectlombok:lombok")
compileOnly("org.projectlombok:lombok")
- перезапустите затмение.
- Перейдите в Eclipse → О Eclipse → проверьте, установлен ли Lombok v1.16.18 "Танцующий слон". https://projectlombok.org/'
- 'Чтобы включить 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), просто выполните следующие действия:
- Скачать ломбок с сайта Project Lombok;
- Закройте Eclipse IDE, если он открыт;
- Запустите установку lombok, выполнив официальные шаги установки или выполнив команду:
java -jar lombok.jar
; - Если установщик lombok не найдет вашу Eclipse IDE, вам будет предложено ввести путь к Eclipse. Вы должны ввести путь к файлу eclipse.ini. В моем случае это был
/tools/ide/eclipse/jee-oxygen/Eclipse.app/Contents/Eclipse/eclipse.ini
. - Выйдите из установщика и откройте Eclipse.
-
В строке меню перейдите в Eclipse> About Eclipse и проверьте, установлен ли lombok:
Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/
Обязательно прокрутите текстовое окно вниз, так как установленная версия Lombok появляется в тексте над строкой значков.
-
Наконец, добавьте 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 должны быть похожими).
Вот что я должен был сделать:
- Загрузите последний
lombok: 1.16.20
- Откройте Eclipse, проверьте наличие обновлений и установите их все. Убедитесь, что Eclipse обновлен до последней версии.
- Выходное затмение.
-
java -jar lombok.jar
- Убедитесь, что в 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:
- Закрыть затмение
- Разблокировать Eclipse с вашего запуска
- Запустите Eclipse из приложения .desktop
- Убедитесь, что "Справка → О программе" означает, что установлен lombok (прокрутите вниз)
- Снова зафиксируйте свой лаунчер
Кажется, это работает из-за некоторой проблемы с приложениями 'lock to launcher', и именно процесс разблокировки/блокировки исправляет это.
(Благодаря кардамону комментарию здесь, который указал мне на это решение)
Ответ 6
У меня была такая же проблема с Алексом.
Моя версия затмения
Версия: Oxygen.1a Release (4.7.1a) Код сборки: 20171005-1200
Я установил lombok 1.16.18, после проверки, что он уже установлен, а также строка javaagent была добавлена в мой файл eclipse.ini.
Все было прекрасно, кроме ошибок компиляции, когда в проекте вызывается getter. Это неудобно, но я исправил:
Больше ничего.
Ответ 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.