Ломбок не работает на 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
под затмением я не проверял, но, может быть, это поможет вам -
копия
lombok.jar
где ваша папка затмения, где находитсяeclipse.ini
открыть
eclipse.ini
, Поставьте в конце две строки ниже и сохраните-Xbootclasspath/a:lombok.jar -javaagent:lombok.jar
запустить снова
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
Ссылка на ресурс:
И владелец проекта lombok rzwitserloot дал 3 предложения для проверки
- Можете ли вы дать нам полный путь от root до вашей установки eclipse? Начиная с версии 1.16.14, программа установки все еще должна находить затмение даже при наличии причудливых путей, которые предлагает программа установки OOM. Я понятия не имею, почему установщик не находит ваше затмение автоматически, здесь. Я не могу воспроизвести это на моем Mac.
- Ломбок деинсталлятор имеет то же самое
'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;
нам это нравится так: без излишеств. Таким образом, эта часть (то, что деинсталлятор не может найти место для пользовательской установки и требует, чтобы вы снова указали его) не является ошибкой. - Вы все еще должны добавить
lombok.jar
для вашего проекта в качестве зависимости, такой же, как любая другая зависимость от третьей стороны (например, что-то вроде guava). Из вашего описания проблемы не ясно, действительно ли вы это сделали.
Ссылка на ресурс:
Даже после выполнения приведенных ниже шагов (сначала попробуйте выполнить действия, указанные ниже), если это не сработает, одной из проблем может быть то, что вы используете eclipse с рабочего стола, а не из папки, в которой установлено eclipse. Иногда при запуске eclipse с рабочего стола невозможно загрузить файл.ini, поэтому lombok не запускается. Итак, попробуйте запустить eclipse из папки, в которой вы его установили.
Шаги: 1. Дайте зависимость lombok в pom и постройте ее.
- Файл lombok.jar обычно загружается в папку .m2/repository/org/projectlombok/lombok/1.xy
- Установите jar в папку "java -jar lombok-1.xyjar"
- Затем он попросит вас выбрать IDE. Перейдите в папку установки eclipse и выберите там eclipse.
Теперь ваша папка установки eclipse должна содержать lombok.jar, а eclipse.ini должна содержать строку -javaagent: /lombok.jar
Запустите 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...
ура
Чтобы развить вышеупомянутые ответы:
ПРОБЛЕМА:
По моему сценарию:
- Я установил SpringBoot STS под
Eclipse Photon
, - Я создал
Spring Boot/Gradle build
проект, и я получил ошибку "неопределенный метод", используя Lombok@Data
, - Среда: Ubuntu Linux 18.04.
- Я установил SpringBoot STS под
РЕШЕНИЕ:
- cd ~ /.gradle / cache /.../ lombok /...;
- java -jar lombok-1.16.22.jar
НОТА:
java -jar lombok*.jar
вызывает графический интерфейс, который- Позволяет выбрать, какую установку Eclipse обновлять.
- Обновления eclipse.ini И...
- Копии
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.
- Скопируйте и вставьте банку ломбока в папку установки eclipse.
- Выполните команду "java -jar lombok-.jar".
- Откроется графический интерфейс.
- Проверьте IDE, указанную в установщике.
- Эта запись должна быть доступна в файле eclipse.ini "-javaagent:<>".
- Перезапустите Eclipse, чтобы найти изменения, которые начнут перечислять связанные геттеры и сеттеры в вашем java файле.
I might be late to reply here but for future references adding this answer,
- Please don't use Lombok v1.18.14 as it will crash eclipse. It is mentioned in changelogs. Use next version v1.18.16.
- 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,
- Добавить ломбок в мой pom.xml
- mvn clean install
- близкое затмение
- перейдите в мою папку.m2
.m2\repository\org\projectlombok\lombok\1.18.6>
- бежать:
java -jar .\lombok-1.18.6.jar
(или какая у вас версия - Установить ломбок
Теперь это становится интересным. Установка добавила следующее в мой 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
Как и другие ответы в этой теме предлагают.