Estou tentando usar o Lombok no meu projeto que estou desenvolvendo usando o IntelliJ IDEA 11.
Instalei o plug-in de terceiros para o IDEA e ele parece funcionar bem porque o IDEA vê todos os métodos / campos gerados automaticamente.
Então, eu tenho uma classe que usa Slf4j. Eu anotei assim
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class TestClass
{
public TestClass()
{
log.info("Hello!");
}
}
Mas quando eu construir meu projeto espetos compilador: cannot find symbol variable log
.
Você poderia me dizer o que estou perdendo aqui?
Atualização: acabou o processo de anotação RequestFactory que falhou.
input files: {com.zasutki.courierApp.server.TestServlet, com.mine.courierApp.server.model.DatastoreObject}
annotations: [javax.inject.Singleton, javax.inject.Inject, lombok.Getter, lombok.Setter, com.googlecode.objectify.annotation.Id, com.googlecode.objectify.annotation.OnSave]
Processor com.google.web.bindery.requestfactory.apt.RfValidator matches [lombok.Getter, com.googlecode.objectify.annotation.Id, javax.inject.Inject, lombok.Setter, com.googlecode.objectify.annotation.OnSave, javax.inject.Singleton] and returns false.
cannot find symbol variable log
Alguma idéia sobre soluções alternativas?
Update2: Talvez não seja algo que os leitores querem ouvir, mas acabei mudando para o Scala .
java
intellij-idea
lombok
especialista
fonte
fonte
Respostas:
Corrigi-o no IDEA 12, definindo a caixa de seleção
Enable annotation processing
em:Para o IDEA 2016.2:
Após a ativação, execute Build -> Rebuild Project para que as anotações sejam reconhecidas e eliminem erros.
Para o IDEA 2019.2.1, dependendo de como o projeto está configurado, a instalação do plugin Project Lombok pode não ser suficiente. Aqui está outra maneira de usar o Project Lombok com o IntelliJ IDEA:
$HOME/dev/java/project/libs
).lombok
$HOME/dev/java/project/libs/lombok.jar
lombok
paraProject Lombok 1.18.8
.O projeto agora pode importar do
lombok
pacote e usar as anotações do Project Lombok (por exemplo,lombok.Setter
elombok.Getter
).fonte
A ativação do processamento de anotação fará com que funcione
Mas se você estiver em um Mac , ative o processamento de anotações (marque a caixa de seleção) nos dois locais disponíveis.
1.) Intellij Idea -> Preferências -> Compilador -> Processadores de Anotação
2.) Arquivo -> Outras configurações -> Configurações padrão -> Compilador -> Processadores de anotação
fonte
Representação gráfica de como resolver esse problema.
Primeiro ative os processadores de anotação e tente. Isso pode ou não funcionar.
Poste isso, você pode instalar o plug-in lombok a partir de intellij (após a instalação, o Intellij será reiniciado para ativar o plug-in, portanto, salve seu trabalho. (O Intellij salva todas as alterações antes de reiniciar, apenas para garantir a segurança). ) captura de tela abaixo:
fonte
exemplo para Gradle:
fonte
Apenas para referência usando o IntelliJ 2018.3 , resolvi esse problema (usando a
@Data
anotação para inserirgetter/setter
) seguindo as três etapas:Muitas felicidades :)
fonte
Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [module-core,module-utils] are excluded from annotation processing
Se você tiver verificado essas duas etapas, a seguir
e ainda recebendo erros , verifique o compilador - se for JAVAC ou ECLIPSE .
Você pode verificar o compilador em Preferências -> Compilação, Execução, Implantação -> Compilador -> Compilador Java.
Altere o compilador Usar para Javac (se for Eclipse). Isto é o que funcionou para mim.
fonte
na versão mais recente do Gradle, você deve usar o annotationProcessor:
fonte
Como observado aqui , cite: "Você deve ativar a opção de compilador externo e habilitar os processadores de anotação ou desabilitar o compilador externo e desabilitar todos os compiladores de anotação para trabalhar com o lombok". Isso resolveu o meu problema. Observe que eu adicionei o plug-in Scala antes de receber esse erro, então suspeito que o plug-in alterou algumas das configurações acima.
fonte
existe um plugin para intellij. veja aqui: https://projectlombok.org/download.html
fonte
Você tem o lombok como dependência do seu projeto? O lombok.jar deve estar no caminho de classe durante a compilação do projeto, que está usando qualquer uma das anotações do lombok.
fonte
Eu estava no
Mac
Esta é a minha versão do IntelliJ IDEA e do Mac - IntelliJ IDEA 2017.1.5 Build # IU-171.4694.70 --- Mac OS X 10.12
Além de ativar o processamento de anotações (marque a caixa de seleção) nesses 2 locais.
.
Eu tive que instalar o plugin Lombok também para fazê-lo funcionar.
fonte
Para aqueles de vocês que ainda estão tendo problemas:
Além das etapas acima para ativar os processadores de anotação e instalar o plug-in IntelliJ Lombok, eu também precisei do Build -> Rebuild Project.
fonte
1. instale o plugin lombok para o IDEA
Intellij Idea -> Preferências -> Plugins -> digite lombok -> Procure nos Repositórios -> instale -> reinicie o IDEA
2 plugin plugin de configuração lombok
A ativação do processamento de anotação fará com que funcione
Mas se você estiver em um Mac, ative o processamento de anotações nos dois locais a seguir:
Idea Intellij -> Preferências -> Compilação, Execução, Implantação -> Compilador -> Processadores de anotação, marque a caixa de seleção "Ativar processamento de anotação". Arquivo -> Outras configurações -> Configurações padrão -> Compilação, Execução, Implantação -> Compilador -> Processadores de anotação, marque a caixa de seleção "Ativar processamento de anotação".
fonte
Não funcionou para mim com nenhuma das soluções acima. Eu adicionei
<scope>provided</scope>
a dependência no pom.xml e funcionou.fonte
Eu enfrentei esse problema depois de atualizar o IDEA para 2018.3. Eu tive que atualizar todo o plugin existente
fonte
Depois de tentar todas as sugestões aqui, também encontrei outro tipo de solução. Parece que, às vezes, o IDEA não pode obter processadores do caminho de classe do projeto.
Portanto, na guia Configurações dos processadores de anotação , você deve especificar manualmente o caminho do processador .
fonte
Eu tive um problema semelhante ao criar com o JDK8, defini o projeto de volta para o JDK7 e funcionou bem. Pode ser uma versão mais antiga do Lombok que não será compilada no JDK8.
fonte
Eu tive o mesmo problema, então vou deixar isso aqui para referência futura do meu esquecimento.
Ao
Alt+Enter
inserir@Slf4j
anotações, escolhi por engano a importação inválida. Portanto, se o código não compilar, certifique-se de importar:import lombok.extern.slf4j.Slf4j;
fonte
FWIW - Ao definir anotações do compilador, conforme descrito acima, verifique também os perfis que você está usando, como "Processadores de anotações padrão do Maven".
fonte
Pode acontecer que, mesmo que você o tenha configurado corretamente e esteja visível entre as bibliotecas e na lista de dependências do Gradle, o IntelliJ ainda não o tenha no caminho da classe. Ou está lá, mas configurado com escopo diferente (ex: teste em vez de compilar).
Primeiro, verifique se o plug-in está instalado e o processamento de anotações ativado, conforme indicado em outras respostas.
Se você ainda não tiver uma anotação reconhecida, coloque o cursor nela, pressione ALT + ENTER (ou OPTION + ENTER) e veja se você tem uma opção de menu.
Add library: Gragle: org.projectlombok:lombok:VERSION to class path
. Se você conseguir vê-lo, escolha este e isso pode resolver seu problema.Você pode verificar a biblioteca e seu escopo em: Configurações do projeto / guia Módulos / Dependências (procure por lombok lá)
fonte
Se você tentou todas as soluções apresentadas aqui e ainda não consegue compilar fontes, veja também: Importação estática da classe do construtor interrompe a geração do código de código no Maven - verifique suas fontes se houver essas importações estáticas. Isso afeta o plug-in maven, portanto, a compilação falhará em outros sistemas de construção fora do IntelliJ IDEA.
fonte
No meu caso, eu tinha todas as coisas mencionadas abaixo no lugar e ainda não estava funcionando.
Para corrigir meus problemas, tive que
Veja as capturas de tela sobre como atualizar e reconstruir o projeto abaixo.
Como atualizar o lombok
Como reconstruir o projeto
fonte
Você pode corrigir
cannot find symbol variable log
ao usar o lombok no IntelliJ IDEA 2017.1.3, fazendo o seguinte:fonte
Instale o plug-in abaixo e reinicie o IDE para resolver os erros:
Ativar processador de anotação:
fonte
Eu enfrentei um problema semelhante. O seguinte funcionou para mim.
faça o download (aqui https://projectlombok.org/download ) e adicione o jar na estrutura do seu projeto.
Etapas: Arquivo -> Estrutura do Projeto -> Bibliotecas Globais
fonte
Se as bibliotecas lombok estiverem definidas corretamente, como muitas mencionadas acima, clique na anotação que não seria compilada, Alt-Enter, uma importação correta será exibida e o código será compilado. - Demorei um pouco para descobrir. Coloquei aqui para o caso de as pessoas não entenderem o óbvio simples.
fonte
Para usuários do Eclipse no MacOS, faça isso. Funcionou para mim.
Eclipse.app/Contents/MacOS
diretório-javaagent:lombok.jar
no final do arquivo Eclipse.app/Contents/Eclipse/eclipse.ini.Fazendo referência a isso
fonte
Além do mencionado em todas as respostas, tenho que adicionar o código abaixo na configuração do pom.xml para fazer o mvn clean install funcionar. Antes de adicionar este código, eu estava recebendo o símbolo não encontrado para getters e setters.
fonte
Para mim, o que funcionou:
fonte
Para o IntelliJ IDEA 2020.1.1, a ativação do plug-in Kotlin corrigiu esse problema.
fonte