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

Я скачал lombok.jar (lombok-1.16.14.jar) и поместил его в мои Загрузки. Затем я нажал на эту банку, выполнение правильно идентифицирует экземпляры Eclipse на моем MacOS, а затем я выбрал нужный экземпляр. Lombok также указан в pom.xml org.projectlombok lombok 1.16.14.

В eclipse.ini я получил дополнение: -javaagent:../ Eclipse / lombok.jar

lombok.jar был добавлен в тот же каталог, что и eclise.ini /Applications/Eclipse.app/Contents/Eclipse

Я все еще получаю ошибки установщика / получателя в проблемах Eclipse, несмотря на то, что мой mvn сборка работает нормально.

Код для пользователя:

@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@EntityListeners(UserListener.class)
public class User implements Serializable, UserDetails {
...

Ошибка:

The method getRole() is undefined for the type User 

19 ответов

Решение

Для меня загрузка последней версии Eclipse Neon, т.е. Neon 3, устранила проблему

Так как вы уже добавили.jar к вашему lib папку, затем перейдите к libи выполнить java -jar lombok-1.16.4.jar, вы увидите мастера, укажите местоположение вашего eclipse.iniпосле того, как вы закончили с этим вашим eclipse.ini файл должен выглядеть так:

    -vmargs
    ...
    -javaagent:lombok.jar
    -Xbootclasspath/a:lombok.jar

Для меня это просто работало нормально, но я нашел в других ответах, что:

  • Вы не должны просто "перезапустить" Eclipse, перейдите на File -> Exit а затем откройте его снова. взяты отсюда
  • Не забудьте сделать mvn clean просто чтобы убедиться, что вы перекомпилировали свои классы. взяты отсюда
  • После всего этого вы должны также щелкнуть правой кнопкой мыши на вашем проекте, затем Maven -> Update Project взяты отсюда

Есть ручной способ установки lombok под затмением я не проверял, но, может быть, это поможет вам -

  1. копия lombok.jar где ваша папка затмения, где находится eclipse.ini

  2. открыть eclipse.ini, Поставьте в конце две строки ниже и сохраните

    -Xbootclasspath/a:lombok.jar
    -javaagent:lombok.jar
    
  3. запустить снова eclipse,

У меня была проблема, что ссылка, которую я использовал для запуска eclipse, не относилась к файлу eclipse.ini.

Моя среда это:

IDE: Version: Neon.0 Release (4.6.0)
OS: Ubuntu 16.04.2 LTS

Процедура установки java -jar lombok-1.16.16.jar работает довольно хорошо. Т.е. это добавляет разумную строку -javaagent:<ABSOLUTE_PATH_TO_ECLIPSE_INSTALLATION>/lombok.jar к eclipse.ini,

Но если я начну затмение с помощью ярлыка на рабочем столе, оно запустится без ломбок (проверено в "Справке"->"Об Eclipse"). Если я начну затмение, выполнив исполняемый файл eclipse сразу после eclipse.ini файл, ломбок запускается как шарм.

Поэтому я проверил ярлык на рабочем столе (например, ~/.local/share/applications/eclipse.desktop) и действительно, затмение началось, не отражая eclipse.ini, Вместо этого он использует что-то вроде /usr/bin/java -jar org.eclipse.equinox.launcher.jar ... начать затмение.

Таким образом, решение было заменить старое Exec строка в ярлыке на рабочем столе:

Exec=/opt/eclipse/neon/eclipse

где /opt/eclipse/neon/ это место, где я установил затмение.

Антониолазаро дал решение проблемы Eclipse Neon на MacOS

Когда я ставлю полный путь, он работает на Mac Os.

-javaagent:/Applications/Eclipse.app/Contents/Eclipse/lombok.jar

Ссылка на ресурс:

  1. https://github.com/rzwitserloot/lombok/issues/1173

И владелец проекта lombok rzwitserloot дал 3 предложения для проверки

  1. Можете ли вы дать нам полный путь от root до вашей установки eclipse? Начиная с версии 1.16.14, программа установки все еще должна находить затмение даже при наличии причудливых путей, которые предлагает программа установки OOM. Я понятия не имею, почему установщик не находит ваше затмение автоматически, здесь. Я не могу воспроизвести это на моем Mac.
  2. Ломбок деинсталлятор имеет то же самое 'find eclipses' возможность в качестве установщика. Mac doesn't have a registry and we aren't going to dump a bunch of crud in your homedir just to keep track of where we installed your lombok; нам это нравится так: без излишеств. Таким образом, эта часть (то, что деинсталлятор не может найти место для пользовательской установки и требует, чтобы вы снова указали его) не является ошибкой.
  3. Вы все еще должны добавить lombok.jar для вашего проекта в качестве зависимости, такой же, как любая другая зависимость от третьей стороны (например, что-то вроде guava). Из вашего описания проблемы не ясно, действительно ли вы это сделали.

Ссылка на ресурс:

https://github.com/rzwitserloot/lombok/issues/1310

Даже после выполнения приведенных ниже шагов (сначала попробуйте выполнить действия, указанные ниже), если это не сработает, одной из проблем может быть то, что вы используете eclipse с рабочего стола, а не из папки, в которой установлено eclipse. Иногда при запуске eclipse с рабочего стола невозможно загрузить файл.ini, поэтому lombok не запускается. Итак, попробуйте запустить eclipse из папки, в которой вы его установили.

Шаги: 1. Дайте зависимость lombok в pom и постройте ее.

  1. Файл lombok.jar обычно загружается в папку .m2/repository/org/projectlombok/lombok/1.xy
  2. Установите jar в папку "java -jar lombok-1.xyjar"
  3. Затем он попросит вас выбрать IDE. Перейдите в папку установки eclipse и выберите там eclipse.
  4. Теперь ваша папка установки eclipse должна содержать lombok.jar, а eclipse.ini должна содержать строку -javaagent: /lombok.jar

  5. Запустите eclipse из папки установки. Очистить и перестроить проект. Это должно работать сейчас!

Попробуйте аннотацию @Data для класса.

public @Data class user{
 \\do stuff
 }

Моя среда это:

IDE: Version: Neon.3 Release (4.6.3)
OS: Ubuntu 16.4

Это работает для меня, когда я делаю это ниже:

1. copy `lombok.jar` to where your eclipse folder where is the `eclipse.ini` ;
2. open `eclipse.ini`,put at end the two lines below with full lombok path and save it:
    -Xbootclasspath/a:/DEV/Tools/IDE/eclipse/jee-neon/lombok.jar
    -javaagent:/DEV/Tools/IDE/eclipse/jee-neon/lombok.jar
3. restart  `eclipse` in command line (when i try run with exist link in launcher it's not work)
4. rebuild your projects

Я недавно столкнулся с этой проблемой, и все вышеупомянутые решения, упомянутые вышеупомянутыми пользователями, не работали. Проблема, с которой я столкнулся, заключалась в том, что в пути есть специальные символы, такие как '$' (это можно найти в последней строке файла eclipse.ini). По той же причине lombok не может идентифицировать файл и добавить необходимые две строки в файл eclipse.ini. Удаление специальных символов, таких как '-', '$', '_' в моем пути к затмению, исправило проблему mu

Выйдите из eclipse, затем перейдите в каталог eclipse и откройте eclipse.ini и добавить -clean на вершине и снова запустите затмение. надеюсь, что ваша проблема решена.

Что касается меня, я использую "Chocolatey" дистрибутив Eclipse для Windows.

Это не сильно меняет. Но для тех из вас, кто не является администратором своего рабочего стола, это может быть проблемой, потому что Chocolatey устанавливает программное обеспечение в C:\ProgramData\... который является каталогом "admin".

Другими словами, вам может потребоваться изменить свойство вашего ярлыка "start in", что будет невозможно, если вы не являетесь администратором своего рабочего стола.

Уловка, которая сработала для меня, заключалась в создании нового ярлыка, который имеет правильное свойство "start in" для запуска eclipse в каталоге, где находится eclipse.ini...

Затем перекомпилируйте, используя eclipse, затем немного поработайте над своим проектом, пока eclipse не поймет, что установлен lombok...

ура

Чтобы развить вышеупомянутые ответы:

  • ПРОБЛЕМА:

    По моему сценарию:

    1. Я установил SpringBoot STS под Eclipse Photon,
    2. Я создалSpring Boot/Gradle build проект, и я получил ошибку "неопределенный метод", используя Lombok @Data,
    3. Среда: Ubuntu Linux 18.04.
  • РЕШЕНИЕ:

    1. cd ~ /.gradle / cache /.../ lombok /...;
    2. java -jar lombok-1.16.22.jar
  • НОТА:

    java -jar lombok*.jar вызывает графический интерфейс, который

    1. Позволяет выбрать, какую установку Eclipse обновлять.
    2. Обновления eclipse.ini И...
    3. Копии lombok-xyz.jar в папку установки Eclipse, как lombok.jar,

Просто добавьте в файл eclipse.ini этот оператор (или проверьте, есть ли у вас):

-Xbootclasspath / a: lombok.jar

-javaagent:lombok.jar

Внимание, обычно у вас только:

-javaagent:lombok.jar

Очевидно, перезапустите ваше затмение

Ведь после установки ломбока, как указано выше, мне пришлось щелкнуть правой кнопкой мыши папку вашего проекта -> Запуск от имени -> Maven clean. Ne.jar обнаружен и используется правильно

Для Eclipse neon на Mac (High Sierra):

  • Используйте lombok версии 1.16.14 или выше.

  • Программа установки запускается при запуске (двойной щелчок) lombok-1.16.14.jarсам файл. Он должен определять установленные версии.

  • На Mac он обнаруживает Eclipse.app только из каталога Applications. Если нет, вы можете указать банке, где ее найти, во всплывающем диалоговом окне. Обратите внимание, что вы должны указать наeclipse.ini файл (Eclipse.app -> Показать содержимое приложения -> eclipse -> eclipse.ini)

  • Более низкие версии ломбока не работают на High Sierra. Они не обнаруживают установленных экземпляров eclipse.

  • Наконец, не забудьте перезапустить eclipse (через File -> exit) и запустить проект обновления maven.

  1. Скопируйте и вставьте банку ломбока в папку установки eclipse.
  2. Выполните команду "java -jar lombok-.jar".
  3. Откроется графический интерфейс.
  4. Проверьте IDE, указанную в установщике.
  5. Эта запись должна быть доступна в файле eclipse.ini "-javaagent:<>".
  6. Перезапустите Eclipse, чтобы найти изменения, которые начнут перечислять связанные геттеры и сеттеры в вашем java файле.

I might be late to reply here but for future references adding this answer,

  1. Please don't use Lombok v1.18.14 as it will crash eclipse. It is mentioned in changelogs. Use next version v1.18.16.
  2. Simple way to setup lombok to eclipse is mentioned in this answer /questions/34647377/problemyi-s-lombokom-s-eclipse-oxygen/59168355#59168355

После установки lombok вам необходимо скопировать lombok.jar в ваш проект или добавить зависимость в xven-файл конфигурации maven.

Несмотря на то, что здесь уже есть много ответов, ни один из приведенных ответов не решил мою проблему, поэтому я также добавлю сюда свою информацию на случай, если она может кому-то помочь:

My setup is:
Win10 Home,
Eclipse Version: Oxygen.3a Release (4.7.3a),
Eclipse Build id: 20180405-1200,
  1. Добавить ломбок в мой pom.xml
  2. mvn clean install
  3. близкое затмение
  4. перейдите в мою папку.m2 .m2\repository\org\projectlombok\lombok\1.18.6>
  5. бежать: java -jar .\lombok-1.18.6.jar (или какая у вас версия
  6. Установить ломбок

Теперь это становится интересным. Установка добавила следующее в мой eclipse.ini:

-javaagent:lombok.jar

Как бы то ни было, он поместил их внизу моего файла.ini. Так это выглядело так.

--launcher.appendVmargs
-vmargs
-...
--add-modules=ALL-SYSTEM
-javaagent:lombok.jar

Я предположил, что -javaagent:lombok.jar принадлежит под -vmargsпоэтому я положил его в нижней части --launcher.appendVmargs, Это тоже не сработало. Но когда я ставлю -javaagent:lombok.jarпрямо под vmargs оно работает. В конечном итоге мой eclipse.ini выглядит так:

--launcher.appendVmargs
-vmargs
-javaagent:lombok.jar # lombok works for me if this is here
-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/
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
#-javaagent:lombok.jar | lombok doesn't work for me if its placed here.
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m

Не уверен, почему эта проблема orcurrs, но, возможно, это поможет вам. Если вы находитесь под macOS, не забудьте добавить -Xbootclasspath/a:lombok.jaКак и другие ответы в этой теме предлагают.

Другие вопросы по тегам