Lombok nie generuje metody pobierającej i ustawiającej

106

Właśnie próbowałem wysłać projekt oparty na Mavenie do innego komputera i HORROR, wszędzie czerwone znaczniki !!

Jednak mvn clean installbuduje się dobrze.

Szybko zauważyłem, że Lombok nie generuje metod pobierających i ustawiających dla moich klas, chociaż @Getteri @Settersą poprawnie rozpoznawane przez Eclipse.

Oba komputery używają tej samej wersji Maven (3.0.4), ale różnych zestawów JDK (1.6_23 i 1.6_33). Obaj używają 32-bitowego Eclipse Indigo. Masz pomysł, jak rozwiązać problem?

Eildosa
źródło
Aby uzyskać pełne instrukcje, zobacz stackoverflow.com/questions/3418865/… . Obejmuje to również sposób uruchamiania Eclipse za pomocą skrótu.
Roel Spilker
możliwy duplikat Cannot Make Project Lombok na Eclipse (Helios)
Pureferret
Wykonałem wszystkie powyższe kroki, ALE to nadal nie działało. Ponownie spojrzałem na pom.xml i wykomentowałem <! - <optional> true </optional> ->, które pojawiło się domyślnie. Później dodałem to <! - <scope> dostarczone </scope> -> ale również to skomentowałem.
logixplayer

Odpowiedzi:

146

Rozpoczynając od nowej instalacji zaćmienia, w rzeczywistości należy „zainstalować” Lombok, zanim będzie można go używać.

  1. Idź tam, gdzie znajduje się słoik Lombok (np. Możesz go znaleźć ~/.m2/repository/org/projectlombok/lombok/1.16.10/lombok-1.16.10.jar), uruchom go (Przykład java -jar lombok-1.16.10.jar:) Powinno pojawić się okno, przejdź do swojej eclipse.exelokalizacji.
  2. Kliknij zainstaluj.
  3. Uruchom Eclipse, zaktualizuj konfigurację projektu we wszystkich projektach i voila.
Eildosa
źródło
15
Jeśli nawet po wykonaniu powyższych czynności to nie zadziała, WYJDŹ i ZACZNIJ ponownie zaćmienie. Prosty plik-> Uruchom ponownie nie działa. Konieczne jest jawne EXIT i Start.
nanosoft
1
Wydaje
2
Jeśli był zamknięty, dobrze działa przy następnym uruchomieniu. Ale jeśli jest już uruchomiony i wymagane jest jawne WYJŚCIE i rozpoczęcie.
nanosoft
2
Dobra robota @Elidosa --- Działa, ale tak, trzeba wyjść i rozpocząć zaćmienie, tylko ponowne uruchomienie nie działa
SMT
Musiałem również wyczyścić projekty, aby usunąć błędy kompilacji
Aditya
89
  • Jeśli używasz STS . Musisz mieć zainstalowany Lombok w swoim Eclipse, uruchamiając lombok-xyz.jar

  • Spróbuj wykonać następujące czynności:

    1. Dołącz pom w Maven.
    2. Wyjście / wyłączenie STS
    3. Znajdź lombok Jar w ~ / .m2 / repository / org / projectlombok / lombok / version.x
    4. Z wiersza polecenia / powłoki java -jar lombok-1.x.y.jar Instalator projektu Lombok

    5. Uruchom STS

To wszystko.

EDYCJA : Zrobiłem to i nadal wyświetlałem błędy, jak wspomniano w komentarzach. Więc zaktualizowałem projekt: kliknij prawym przyciskiem myszy projekt -> Maven -> Aktualizuj projekt i błędy zniknęły.

GoutamS
źródło
Nadal mam problem i nie jestem pewien, co się dzieje?
Pra_A
Czy masz jakiś komunikat o błędzie? Czy możesz zaimportować klasę do swoich plików Pojo?
GoutamS
@Prateek W przypadku, gdy nie działa, zmień
wersję
1
Pobrałem plik lombok.jar ręcznie, uruchomiłem go, a później ponownie uruchomiłem zaćmienie i przebudowałem projekty, działa! ...
ArifMustafa
Miałem ten sam problem, próbowałem wszystkiego, ale nie działało. Następnie zainstalowałem na nowo i zanim cokolwiek zrobiłem, zainstalowałem Lombok. Zadziałało. Upewnij się również, że zaczynasz od nowego obszaru roboczego. Nie działało ze starym.
Rajeev
50

Zwróć uwagę, że jeśli używasz IntelliJ, będziesz chciał zainstalować wtyczkę Lombok (dostępną w ustawieniach IDE), a także włączyć przetwarzanie adnotacji.

PacificSky
źródło
20
Nadal kilku z nich przyszło do tego wątku, gdy mieli do czynienia z tym samym i nie wiedząc, czy wtyczka jest potrzebna dla IntelliJ. kciuki w górę
Vaibs
8

Jeśli używasz eclipse. Musisz mieć zainstalowany lombok w swoim Eclipse, uruchamiając lombok-xyz.jar (np. Możesz go znaleźć w ~/.m2/repository/org/projectlombok/lombok/1.12.6/lombok-1.12.6.jar).

Po otwarciu okna instalacji musisz wybrać lokalizację swojego Eclipse. I niech zainstaluje lombok w środku. Następnie musisz ponownie uruchomić Eclipse.

sancho21
źródło
2
„Wyraźnie wyjdź i zacznij ponownie.”. Normalny plik -> Uruchom ponownie nie działa.
nanosoft
6

Są to instrukcje wiersza poleceń, w których powyższa wersja graficzna nie jest dostępna lub nie można otworzyć pliku jar Lombok za pomocą podwójnych kliknięć, jak w Ubuntu.

W chwili pisania tego tekstu korzystanie z Lombok nie jest proste, jak po prostu dodanie zależności w pliku POM xml i dodanie adnotacji. Oto kolejne kroki:

1) Zlokalizuj miejsce, w którym maven pobrał plik jar Lombok; Zwykle znajduje się w folderze .m2 w katalogu domowym. Następnie wykonaj następujące polecenie.

java -jar lombok-1.16.18.jar install <path of where your IDE is installed>

przykład użycia:

java -jar lombok-x.xx.xx.jar install ~/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/

powyższe polecenie w zasadzie powoduje aktualizację konfiguracji w twoim IDE .inilub configurationpliku jak poniżej:

-javaagent:/home/neshant/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/lombok.jar

zapewnia to, że adnotacje @Datalub @Getterlub @Settersą zrozumiałe dla środowiska IDE. To dziwne, że musiało być tak skomplikowane.

neshant sharma
źródło
tutaj jestem w roku 2020 nadal uważam, że twój post jest przydatny. Dzięki!
YazidEF
U mnie też to zadziałało. Dzięki.
Chintan Patel
6

Pobierz Lombok Jar, zróbmy to w naszym imieniu:

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

Teraz ... komenda mvn clean install w nowo utworzonym projekcie, aby pobrać ten jar do lokalnego repozytorium. Przejdź do lokalizacji jar, uruchom wiersz polecenia, uruchom polecenie: java -jar lombok-1.16.18.jar

wprowadź opis obrazu tutaj

kliknij przycisk „Określ lokalizację” i znajdź ścieżkę eclipse.exe JAK: wprowadź opis obrazu tutaj

na koniec zainstaluj to, klikając „Zainstaluj / Aktualizuj”

Tiago Medici
źródło
To najprostsze rozwiązanie, jakie znalazłem do tej pory. Zadziałało. Dzięki.
Freelancer
2

Dla Sprint STS - umieść plik lombok.jar w folderze eclipse / sts exe i dodaj następujący wpis do STS.ini.

-javaagent:lombok.jar
ManishSingh
źródło
2

Jeśli używasz maven i Eclipse, należy je zainstalować ręcznie.

  1. Sprawdź pom

 <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
            <type>jar</type>
        </dependency>

  1. przejdź do Maven Dependencies

wprowadź opis obrazu tutaj

  1. Kliknij prawym przyciskiem myszy bibliotekę i Uruchom jako aplikację Java

wprowadź opis obrazu tutaj

  1. Określ lokalizację IDE, zainstaluj i zamknij IDE (Eclipse). wprowadź opis obrazu tutaj
Faxon
źródło
Wykonałem wszystkie opisane przez Ciebie kroki, ale w przypadku eclipse 2019-12 i lombok 1.18.12 eclipse nie rozpoznaje, że w moim modelu jest adnotacja \ @getter lub \ @setter. Czy w ogóle istnieje getter lub setter wygenerowany przez lombok?
Ben
1

Korzystam ze studia deweloperskiego Red hat Jboss. Rozwiązałem ten problem poprzez:

  1. Projekt ma lombokzależność. Najpierw zajrzyj do swojego .m2 repozytorium i znajdź lomboksłoik

  2. Kliknij dwukrotnie słoik, zobaczysz tam instalator określający ścieżkę do IDE, np C:\Users\xxx\devstudio\studio\devstudio.exe

  3. Zrestartuj IDE i zaktualizuj projekt Maven, błąd wystąpi

kranti
źródło
1
Witamy w StackOverflow! Spróbuj napisać swoje odpowiedzi bardziej czytelnie, używając poprawnych list i markdown language like this.
MS Berends,
1

1) Uruchom polecenie java -jar lombok-1.16.10.jar. Należy to uruchomić z katalogu, w którym znajduje się plik lombok.jar.

2) Dodaj lokalizację ręcznie, wybierając plik eclipse.ini (zainstalowany katalog eclipse). Poprzez „ Określ lokalizację

Uwaga: nie dodawaj pliku eclipse.exe, ponieważ spowoduje to uszkodzenie edytora eclipse.

Jak dodać plik eclipse.ini

Prakasam Dhamodhiran
źródło
1

Również napotkałem ten problem, w moim przypadku, ponieważ aktualizuję mój IntelliJ IDEA bez aktualizacji wtyczki Lombok. Więc są niekompatybilne.

Daria Yu
źródło
Po prostu zaktualizuj wtyczkę Lombok w Intellij Idea i uruchom ponownie IDE
Daria Yu,
1

samo dodanie zależności Lombok nie wystarczy. Będziesz musiał także zainstalować wtyczkę Lombok.

Możesz pobrać plik jar Lombok, przechodząc przez (tylko jeśli dodałeś zależność w którymkolwiek z POM).

m2 \ repozytorium \ org \ projectlombok \ lombok \ 1.18.12 \ lombok-1.18.12

Ponadto, jeśli Lombok nie może znaleźć IDE, ręcznie określ plik .exe swojego IDE i kliknij zainstaluj.

Zrestartuj swoje IDE.

Otóż ​​to.

Jeśli napotkasz jakiś problem,

Poniżej znajduje się piękny i krótki film o tym, jak zainstalować wtyczkę Lombok.

Aby zaoszczędzić czas, możesz zacząć od 1:40.

https://www.youtube.com/watch?v=5K6NNX-GGDI

Jeśli nadal nie działa,

Sprawdź, czy lombok.jar znajduje się w twoim pliku sts.ini (plik konfiguracyjny sts, obecny w folderze sts).

-javaagent: lombok.jar

Wykonaj Alt + F5. To zaktualizuje Twojego maven.

Zamknij IDE i uruchom je ponownie.

Ashish Singh
źródło
1
Dlaczego ta odpowiedź nie dała ani jednego głosu. To naprawdę pomogło. Dzięki za tonę.
sofy 1
1

Użytkownik Intellij, upewnij się, że masz 3 rzeczy,

  1. Zależność Lombok
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>
  1. Wtyczka IntelliJ dla Lombok

  2. Adnotacja Lombok, na przykład @Getter @Setter(upewnij się, że pochodzi z lombok, a nie z innego miejsca)

i powinno działać.

Rishabh Agarwal
źródło
0

Używając lombok na nowej instalacji Eclipse lub STS, musisz:

  1. Zainstaluj jar lombok, który możesz pobrać ze strony https://projectlombok.org/download . Uruchom jar (jako Administrator, jeśli używasz systemu Windows) i określ ścieżkę do instalacji Eclipse / STS.

  2. Zrestartuj swoje IDE (Eclipse lub STS)

  3. Daj trochę czasu, aby zaćmienie wygenerowało pliki klas dla lomboka (w niektórych przypadkach może to zająć do 4 minut)

Fua
źródło
0

W przypadku Spring ToolSuite 4 na Macu zmienili nazwę ini na SpringToolSuite4.ini.

Możesz zmienić jego nazwę lub skopiować go do STS.ini, aby był rozpoznawany przez lombok. Następnie skopiuj go z powrotem do oryginalnej nazwy do odczytania przez IDE. (Nie próbowałem jednak, czy dowiązania symboliczne działają).

Czad
źródło
0

To, co musiałem zrobić, to zainstalować lombokw katalogu instalacyjnym eclipse.

Pobrać lombok.jarz tutaj , a następnie zainstalować go za pomocą następującego polecenia:

java -jar lombok.jar

Następnie upewnij się, że lombok.jarzostał dodany do ścieżki kompilacji. Ale upewnij się, że nie dodasz go dwukrotnie, dodając raz przez mavenlub gradlei jeszcze raz na ścieżce zaćmienia.

Potem cleani buildprojekt ponownie i zobacz, jak wszystkie błędy znikają.

Pritam Banerjee
źródło
0

Jeśli używasz STS. Musisz mieć zainstalowany Lombok w swoim Eclipse, uruchamiając lombok-abc.jar

Wykonaj następujące kroki:

-Włącz pom w Maven. -Exit / Shutdown STS (must) -Find lombok Jar w ~ .m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 -From Command wprowadź opis obrazu tutaj

Po tym wprowadź opis obrazu tutaj

Następnie wybierz STS.exe wprowadź opis obrazu tutaj

Następnie kliknij, aby zaktualizować / zaktualizować

wprowadź opis obrazu tutaj

następnie zamknij instalator

Miłego kodowania

Zablokować cytat

Rajat Kumar
źródło
jest to podwójna odpowiedź
Tiago Medici
-1

Jeśli używasz mavena, przejdź do zależności maven w strukturze projektu, a następnie uruchom lombok jar jako projekt java, który go zainstaluje, a następnie zamknij i uruchom eclipse

akshay
źródło