O Lombok não está gerando getter e setter

101

Eu apenas tentei enviar um projeto baseado em Maven para outro computador e HORROR, marcadores vermelhos em todos os lugares !!

No entanto, mvn clean installestá construindo muito bem.

Rapidamente, percebi que o Lombok não está gerando getters e setters para minhas classes, embora @Gettere @Setterestejam sendo reconhecidos corretamente pelo Eclipse.

Ambos os computadores usam a mesma versão do Maven (3.0.4), mas diferentes JDKs (1.6_23 e 1.6_33). Ambos usam Eclipse Indigo de 32 bits. Você tem uma ideia de como resolver o problema?

Eildosa
fonte
Para obter instruções completas, consulte stackoverflow.com/questions/3418865/… . Isso também inclui como iniciar o Eclipse por meio de um atalho.
Roel Spilker
Eu fiz todas as etapas acima, mas não estava funcionando ainda. Eu olhei para pom.xml novamente e comentei <! - <optional> true </optional> -> que veio por padrão. Posteriormente adicionei este <! - <scope> fornecido </scope> -> mas também o comentei.
logixplayer de

Respostas:

142

Ao iniciar uma nova instalação do Eclipse, você, na verdade, precisa "instalar" o Lombok antes de poder usá-lo.

  1. Vá para onde está o jar do Lombok (por exemplo (por exemplo, você pode encontrar ~/.m2/repository/org/projectlombok/lombok/1.16.10/lombok-1.16.10.jar), execute-o (por exemplo:) java -jar lombok-1.16.10.jar. Uma janela deve aparecer, navegue até sua eclipse.exelocalização.
  2. Clique em instalar.
  3. Inicie o Eclipse, atualize a configuração do projeto em todos os projetos e pronto.
Eildosa
fonte
15
Se mesmo depois de seguir as etapas acima ele não funcionar, SAIA e INICIE o eclipse novamente. Arquivo Simples-> Reiniciar não funciona. EXIT e Start explícitos são necessários.
nanosoft
1
Eu acredito que fiz isso enquanto o eclipse estava fechado
Eildosa
2
Se foi fechado, tudo bem, funcionará na próxima inicialização. Mas se ele já foi iniciado e EXIT explícito e iniciar é necessário.
nanosoft,
2
Muito bem @Elidosa --- Está funcionando, mas preciso sair e iniciar o eclipse, apenas reiniciar não funciona
SMT de
Eu também precisava limpar os projetos para remover erros de compilação
Aditya
83
  • Se você usar o STS . Você deve ter o Lombok instalado em seu Eclipse, executando lombok-xyz.jar

  • Experimente os seguintes passos:

    1. Incluir pom no Maven.
    2. Sair / Desligar STS
    3. Encontre lombok Jar em ~ / .m2 / repository / org / projectlombok / lombok / version.x
    4. Do Prompt de Comando / Shell java -jar lombok-1.x.y.jar Instalador do Projeto Lombok

    5. Iniciar STS

Isso é tudo.

EDITAR : Fiz isso e ainda estava apresentando erros, conforme mencionado nos comentários. Então eu atualizei o projeto: clique com o botão direito em projeto -> Maven -> Atualizar projeto e os erros desapareceram.

GoutamS
fonte
Ainda estou enfrentando o problema, não tenho certeza do que está acontecendo de errado?
Pra_A
Você tem alguma mensagem de erro? Você pode importar a classe em seus arquivos Pojo?
GoutamS
@Prateek Caso não funcione, altere a versão do lombok. E tente novamente
GoutamS
1
Baixei o lombok.jar manualmente, executei e depois reiniciei o eclipse e reconstruí os projetos, funcionou! ...
ArifMustafa
Eu tive o mesmo problema, tentei de tudo, mas não funcionou. Então, instalei o Lombok antes de qualquer coisa. Funcionou. Além disso, certifique-se de começar com o novo espaço de trabalho. Não funcionou com o antigo.
Rajeev
44

Observe que, se estiver usando o IntelliJ, você desejará instalar o plug-in do Lombok (disponível nas configurações do IDE) e também ativar o processamento de anotação.

PacificSky
fonte
17
Ainda, vários teriam chegado a este tópico quando estavam enfrentando a mesma coisa e não sabendo se o plug-in é necessário para o IntelliJ. polegares para cima
Vaibs
Foi útil para mim, por exemplo. Eu uso o Intellij! Obrigado!
Peter Szalay
8

Se você usar eclipse. Você deve ter o lombok instalado em seu Eclipse executando lombok-xyz.jar (por exemplo, você pode encontrar em ~/.m2/repository/org/projectlombok/lombok/1.12.6/lombok-1.12.6.jar).

Conforme a janela de instalação se abre, você deve escolher a localização do seu Eclipse. E deixe-o instalar o lombok dentro. Você deve reiniciar seu Eclipse posteriormente.

sancho21
fonte
2
"Saia explicitamente e comece novamente.". Arquivo normal -> Reiniciar não funciona.
nanosoft
6

Baixe o Lombok Jar, vamos fazer o download em nosso nome:

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

Agora ... o comando mvn clean install no projeto recém-criado para obter este jar baixado no repositório local. Vá para o local do jar, execute o prompt de comando, execute o comando: java -jar lombok-1.16.18.jar

insira a descrição da imagem aqui

clique no botão “Especificar localização” e localize o caminho eclipse.exe COMO: insira a descrição da imagem aqui

finalmente instale isso clicando em “Instalar / Atualizar”

Tiago Medici
fonte
Esta é a solução mais simples que encontrei até agora. Funcionou. Obrigado.
Freelancer,
5

Estas são instruções de linha de comando em que a versão gráfica acima não está disponível ou você não pode abrir o arquivo jar do Lombok com cliques duplos, como no Ubuntu.

No momento em que este artigo foi escrito, o uso do Lombok não era tão simples quanto apenas adicionar uma dependência ao arquivo xml POM e adicionar a anotação. Estas são as próximas etapas:

1) Localize onde o arquivo jar do Lombok foi baixado por maven; Normalmente, está na pasta .m2 dentro do seu diretório inicial. Em seguida, execute o seguinte comando.

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

exemplo de uso:

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/

o comando acima basicamente faz uma atualização de configuração em seu IDE .iniou configurationarquivo como abaixo:

-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

Isto assegura que o @Dataou @Getterou @Setteranotações são compreendidos pelo IDE. É estranho que tenha que ser tão complexo.

Sharma neshant
fonte
aqui estou eu no ano de 2020 ainda achando seu post útil. Obrigado!
YazidEF
2

Para Sprint STS - Coloque o arquivo lombok.jar na pasta eclipse / sts exe e adicione a seguinte entrada ao STS.ini.

-javaagent:lombok.jar
ManishSingh
fonte
1

Estou usando o estúdio de desenvolvimento Red hat Jboss. Resolvi esse problema:

  1. O projeto possui lombokdependência. Primeiro olhe em seu .m2 repositório e encontre o lombokjar

  2. Clique duas vezes no jar, você verá que o instalador especifica o caminho para o IDE como C:\Users\xxx\devstudio\studio\devstudio.exe

  3. Reinicie o IDE e atualize o projeto maven o erro irá

Kranti
fonte
1
Bem-vindo ao StackOverflow! Por favor, tente escrever suas respostas de forma mais legível, usando listas corretas e markdown language like this.
MS Berends
1

1) Execute o comando java -jar lombok-1.16.10.jar . Isso precisa ser executado a partir do diretório de seu arquivo lombok.jar.

2) Inclua o local manualmente selecionando o arquivo eclipse.ini (diretório Eclipse instalado). Por meio de “ Especificar localização

Nota: Não adicione o eclipse.exe porque isso corromperá o editor do eclipse.

Como adicionar o arquivo eclipse.ini

Prakasam Dhamodhiran
fonte
1

Eu também encontrei esse problema, no meu caso, é porque eu atualizo meu IntelliJ IDEA sem atualizar o plug-in do Lombok. Portanto, eles são incompatíveis.

Daria Yu
fonte
Basta atualizar o plug-in do Lombok no Intellij Idea e reiniciar o IDE
Daria Yu
1

apenas adicionar a dependência do Lombok não é suficiente. Você também terá que instalar o plugin do Lombok.

Você pode obter seu arquivo jar do Lombok navegando (somente se tiver adicionado a dependência em qualquer um dos POM).

m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 \ lombok-1.18.12

Além disso, se o Lombok não conseguiu encontrar o IDE, especifique manualmente o .exe do seu IDE e clique em instalar.

Reinicie seu IDE.

É isso aí.

Se você enfrentar algum problema,

Abaixo está um belo e curto vídeo sobre como instalar o plugin do Lombok.

Só para economizar seu tempo, você pode começar em 1:40.

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

Se ainda não funcionar,

Verifique se lombok.jar está em seu arquivo sts.ini (arquivo de configuração sts, presente na pasta sts.)

-javaagent: lombok.jar

Faça um Alt + F5. Isso irá atualizar seu maven.

Feche seu IDE e inicie-o novamente.

Ashish Singh
fonte
1
Como essa resposta não teve nem um único voto. Isso realmente ajudou. Muito obrigado.
sofs1 de
1

Se você estiver usando o maven e o Eclipse, deve ser instalado manualmente.

  1. Verificar pom

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

  1. vá para Dependências Maven

insira a descrição da imagem aqui

  1. Clique com o botão direito na biblioteca e execute como aplicativo Java

insira a descrição da imagem aqui

  1. Especifique a localização do IDE, instale e feche o IDE (Eclipse). insira a descrição da imagem aqui
Faxon
fonte
Eu segui todas as etapas que você descreveu, mas com o eclipse 2019-12 e o lombok 1.18.12, o eclipse não reconhece que há uma anotação \ @getter ou \ @setter em meu modelo. Existe mesmo um getter ou setter gerado pelo lombok?
Ben
1

Usuário Intellij, certifique-se de ter três coisas,

  1. Dependência do Lombok
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>
  1. Plug-in IntelliJ para Lombok

  2. Anotação do Lombok, como @Getter @Setter(certifique-se de que vem de lombok e não de outro lugar)

e deve funcionar.

Rishabh Agarwal
fonte
0

Ao usar o lombok em uma nova instalação do Eclipse ou STS, você deve:

  1. Instale o jar lombok que você pode obter em https://projectlombok.org/download . Execute o jar (como administrador, se estiver usando o Windows) e especifique o caminho para a instalação do Eclipse / STS.

  2. Reinicie seu IDE (Eclipse ou STS)

  3. Dê algum tempo para que o eclipse gere os arquivos de classe para o lombok (pode levar até 4 minutos em alguns casos)

Fua
fonte
0

Para Spring ToolSuite 4 no Mac, eles renomearam o ini para SpringToolSuite4.ini.

Você pode renomear ou copiá-lo para STS.ini para ser reconhecido pelo lombok. Em seguida, copie-o de volta para o nome original para ser lido pelo IDE. (Ainda não tentei se os links simbólicos funcionam.)

Chade
fonte
0

O que eu tive que fazer foi instalar lombokno diretório de instalação do eclipse.

Baixe o lombok.jardo aqui e, em seguida, instalá-lo usando o seguinte comando:

java -jar lombok.jar

Depois disso, certifique-se de que o lombok.jaré adicionado ao caminho de construção. Mas certifique-se de não adicionar duas vezes, adicionando uma vez mavenou gradlee mais uma vez no caminho do eclipse.

Depois disso cleane builddo projeto novamente e ver todos os erros irem embora.

Pritam Banerjee
fonte
0

Se você usar o STS. Você deve ter o Lombok instalado em seu Eclipse, executando lombok-abc.jar

Siga as etapas:

-Incluir pom em Maven. -Sair / Desligar STS (deve) -Encontrar lombok Jar em ~ .m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 -Do comando insira a descrição da imagem aqui

Depois então insira a descrição da imagem aqui

Depois selecione o STS.exe insira a descrição da imagem aqui

Depois, clique para atualizar / atualizar

insira a descrição da imagem aqui

então saia do instalador

Happy Coding

Bloco de citação

Rajat Kumar
fonte
é resposta duplicada
Tiago Medici
-1

Se você estiver usando o maven, vá para as dependências do maven na estrutura do seu projeto e execute lombok jar como um projeto java ele irá instalá-lo, sair e iniciar o eclipse

akshay
fonte