Khiem-Kim Ho Xuan
Khiem-Kim Ho Xuan

Reputation: 1371

Lombok with IDEA 13: Cannot find symbol

I have tried using Lombok on Intellij IDEA 13 Ultimate. However. I get the famous error "cannot find symbol" for all the methods that should have been available when I am using specific annotations for example the once I use as annotations are @Builder, @AllArgsConstructor and @Data.

I have already set my compiler to enable annotation processing and I have looked deeply into it, but with no solution of how to solve it.

Any advice or tips would be nice.

Upvotes: 22

Views: 48743

Answers (11)

howgenius
howgenius

Reputation: 61

I have the same problem. Using maven, after I add at to my pom.xml annotationProcessor nothing changed. Also I'm installed Lombok plugin at Intelij IDEA.

<annotationProcessorPaths>
    <path>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
    </path>
</annotationProcessorPaths>

Upvotes: 6

Alberto P&#233;rez
Alberto P&#233;rez

Reputation: 112

Same problem here, hundreds of Lombok errors in @Builder tags and getting this compile error cannot find symbol.

The solution for me was to check all the errors and see that one of them was different import requires canonical name for caused by the @FieldNameConstants annotation conflicting with other classes.

Conclusion: Lombok sucks!

Upvotes: 0

Oleksandr Rudkin
Oleksandr Rudkin

Reputation: 1

If you use @UtilityClass, the reason can be: Due to a peculiar way javac processes static imports, trying to do a non-star static import of any of the members of a @UtilityClass won't work. Either use a star static import: import static TypeMarkedWithUtilityClass.*; or don't statically import any of the members.

Upvotes: 0

manrodriguezf
manrodriguezf

Reputation: 46

The aforementioned solutions work perfectly, although there's another instance where Lombok annotation processing can fail:

In Gradle or Maven you can pass an argument/flag to prevent annotation processing:

-proc:none

Hope this helps someone.

Reference: https://github.com/projectlombok/lombok/issues/1449

Upvotes: 0

Caranown
Caranown

Reputation: 193

I solved this in my Gradle project by including the Lombok plugin. No dependencies or annotationProcessor needed (nor did those work for me).

For example in your build.gradle.kts:

plugins {
    id("io.freefair.lombok") version "6.5.1"
}

https://plugins.gradle.org/plugin/io.freefair.lombok

Upvotes: 0

Jack.Li
Jack.Li

Reputation: 21

Tried with the @Mike's solution above, and it works. For your information, even though I enabled the Annotation Processors , but it seems like not working. After I added the annotationProcessor 'org.projectlombok:lombok:1.18.22' it was built successfully.

Upvotes: 1

Supul Gintota
Supul Gintota

Reputation: 1

If you use intellij Idea go to setting and add Lombok plugin to your intellij idea

enter image description here

Upvotes: 0

Mike Menko
Mike Menko

Reputation: 1049

In my case non of methods works. But I found solution for my case. I needed to add to my Gradle dependencies list of

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.22'
}

one more line

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.22'
    annotationProcessor 'org.projectlombok:lombok:1.18.22'
}

With such combination you even don't need enabling Annotation Processors from @Vegard answer.

Upvotes: 8

komidawi
komidawi

Reputation: 415

In my case apart from enabling Annotation Processing and installing Lombok Plugin I had to rebuild project by Build -> Rebuild Project

Upvotes: 3

Vegard
Vegard

Reputation: 1942

Kind of old question here, but I came across the same problem today. I had to do two things to make it work:

  1. Set annotation processing on: Settings -> Compiler -> Annotation Processors
  2. Change from ajc to javac for the project: Compiler -> Java Compiler

you of course also need the Lombok plugin.

Upvotes: 12

dugsmith
dugsmith

Reputation: 89

I was having a similar issue, but resolved it by upgrading to IDEA 15.0.2 and Lombok plugin 0.9.6.14. I had to restart IDEA several times before all of the getters/setters generated by Lombok were resolved.

I also found this related answer, but it didn't seem to help my problem. It may help you if upgrading does not.

Upvotes: 1

Related Questions