Heetola
Heetola

Reputation: 6181

Lombok is not generating getter and setter

I just tried to send a Maven-based project to another computer and HORROR, red markers everywhere!!

However, mvn clean install is building just fine.

Quickly, I noticed that Lombok is not generating getters and setters for my classes, although the @Getter and @Setter are being correctly recognised by Eclipse.

Both computers use the same Maven version (3.0.4) but different JDKs (1.6_23 and 1.6_33). They both use Eclipse Indigo 32 bit. Do you have an idea about how to solve the problem?

Upvotes: 172

Views: 395063

Answers (29)

Susobhan Das
Susobhan Das

Reputation: 1144

Working solution is to add - lombok as both annotationProcessor as well as compileOnly parameters in build.gradle

compileOnly 'org.projectlombok:lombok:1.18.34'
annotationProcessor 'org.projectlombok:lombok:1.18.34'

Lombok-Gradle

Upvotes: 0

Avinash Khadsan
Avinash Khadsan

Reputation: 497

Add below line in SpringToolSuite4.config file at last -javaagent:lombok.jar

enter image description here

Upvotes: 0

Abhishek Kumar
Abhishek Kumar

Reputation: 29

open cdm from your local system and follow the step below till lombok folder

Step 1 : open cm from your local system Step 2 : cd .m2\repository\org\projectlombok\lombok\1.18.26(till version which present in your system) and do step 3 Step 3: java -jar lombok-1.18.26.jar Then after one window will appear like below image-1 and wait till full scan then click install/update.

image-1

Step 4: Restart your STS or Eclipse then start work enjoy :)

Upvotes: 1

Nirmalya Kar
Nirmalya Kar

Reputation: 563

If you're using IntelliJ IDEA

1.Install the Lombok plugin
2.Enable annotation processing Go to File > Settings (or IntelliJ IDEA > Preferences on macOS). In the settings dialog, navigate to Build, Execution, Deployment > Compiler > Annotation Processors. Check the box for "Enable annotation processing.

Upvotes: 1

Suraj
Suraj

Reputation: 3127

There are already many answer to this question. I'll add to the already given answer.

For Spring STS, if after following the correct way and installing and you get install successful and still it is not working. Please follow below steps.

  1. Open .ini file. and update the javaagent value like this. Also make sure you have lombok.jar in the same folder.

    -javaagent:lombok.jar

  2. Now restart the STS and then right click on the project.

  3. Maven -> Update Project

  4. Check force Update of snapshot/releases.

  5. click on OK.

It will take some time and it will resolve all lombok errors.

Upvotes: 0

Osify
Osify

Reputation: 2295

Seem the answers above are OK in some cases but my case not work well somehow.

So, here what I did (that worked for me):

  1. I use Spring Suit 4 (SpringToolSuite4.exe)
  2. Projects must be maven-project
  3. I direct install lombok the version I put in pom.xml (1.18.12) not working
  4. I changed to install lombok the latest version via Market Place, use site: https://projectlombok.org/p2, the version is 1.18.22
  5. I see now in my SpringToolSuite4.ini, this line: -javaagent:D:\xxx\eclipse\sts-4.13.0.RELEASE\plugins\org.projectlombok.agent_1.18.22/lombok.jar
  6. Re-open my STS and press: ALT+F5 (to open your maven projects), click OK and wait all projects to be built

And they are working.

Discussion

It might be above all solutions are working but can because of the version as we always thought, we need to use the same version as in our pom.xml but it could also work with the latest one (correct me if anyone have comment).

Point 2. maven projects, I did since beginning with other above solutions but still got error; somehow we have to make sure that.

One more remark: whenever you don't see a line of message in About Spring Tool (or About Eclipse), meant that your lombok installation not correct, may try my above solution again.

Hope this discussion helps others.

Upvotes: 1

Robert Makritsky
Robert Makritsky

Reputation: 77

I spent full day, you can do it this way:

  1. Add to maven lombok
  2. Install eclipse
  3. Download lombok
  4. Copy to eclipse folder
  5. Add to file eclipse.ini next text -javaagent:lombok.jar
  6. Active annotation processing in select project (not the parent)
    -> properties -> Java compiler -> annotation processing Select Enable project specific settings Select all Enable checkbox
  7. Restart and it should work . test ubuntu 20.04 and eclipse 2021 year

Upvotes: 3

Jimmy
Jimmy

Reputation: 1041

Solution for Eclipse IDE:

1. Maven dependency in pom.xml

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

2. Go to Maven dependency jar >> Right click >> Run As >> Java Application

3. select Socket Server and Click OK

ch.qos.logback.classic.net.SimpleSSLSocketServer
ch.qos.logback.classic.net.SimpleSocketServer

4. Show message on console like:

Wrong number of arguments. Usage: java ch.qos.logback.classic.net.SimpleSocketServer port configFile

Upvotes: 2

Lijo
Lijo

Reputation: 6778

In mac os lombok will not be able to find eclipse location. please click on specify location and go to the eclipse installed folder you can find the eclipse.ini file select that

enter image description here

Upvotes: 1

Rishabh Agarwal
Rishabh Agarwal

Reputation: 2644

Intellij User, make sure you have 3 things,

  1. Lombok dependency
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>
  1. IntelliJ plugin for Lombok

  2. Lombok annotation, like @Getter @Setter (make sure it is coming from lombok and not from somewhere else)

and it should work.

Upvotes: 1

Rajat Kumar
Rajat Kumar

Reputation: 1529

If you use STS. You must have Lombok installed in your Eclipse by running lombok-abc.jar

Please Following the Steps:

-Include pom in Maven . -Exit/Shutdown STS(must) -Find lombok Jar in ~.m2\repository\org\projectlombok\lombok\1.18.12 -From Command enter image description here

After then enter image description here

After then select the STS.exe enter image description here

After then click to update/update

enter image description here

then Quit Installer

Happy Coding

Blockquote

Upvotes: 10

If you are using maven and Eclipse, must be installed manually.

  1. Verify pom

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

  1. go to Maven Dependencies

enter image description here

  1. Right click in the library and Run as Java aplication

enter image description here

  1. Especify location IDE, install and close IDE (Eclipse). enter image description here

Upvotes: 15

Ashish Singh
Ashish Singh

Reputation: 479

just adding the dependency of Lombok is not enough. You'll have to install the plugin of Lombok too.

You can get your Lombok jar file in by navigating through (Only if you have added the dependency in any of the POM.)

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

Also, if Lombok could not find the IDE, manually specify the .exe of your IDE and click install.

Restart your IDE.

That's it.

If you face any problem,

Below is a beautiful and short video about how to install the plugin of Lombok.

Just to save your time, you can start from 1:40.

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

If it still doesn't work,

Verify that lombok.jar is there in your sts.ini file (sts config file, present in sts folder.)

-javaagent:lombok.jar

Do an Alt+F5. This will update your maven.

Close your IDE and again start it.

Upvotes: 6

Pritam Banerjee
Pritam Banerjee

Reputation: 18923

What I had to do was to install lombok in the eclipse installation directory.

Download the lombok.jar from here and then install it using the following command:

java -jar lombok.jar

After that make sure that the lombok.jar is added in your build path. But make sure you don't add it twice by adding once through maven or gradle and once again in eclipse path.

After that clean and build the project again and see all the errors go away.

Upvotes: 1

zedtimi
zedtimi

Reputation: 306

Download Lombok Jar File https://projectlombok.org/downloads/lombok.jar

Add maven dependency:

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

Start Lombok Installation java -jar lombok-1.16.18.jar

find complete example in this link:
https://howtodoinjava.com/automation/lombok-eclipse-installation-examples/

Upvotes: 1

Heetola
Heetola

Reputation: 6181

When starting with a fresh eclipse installation you, in fact, need to "install" Lombok before being able to use it.

  1. Go where you Lombok jar is (e.g. (e.g. you can find in ~/.m2/repository/org/projectlombok/lombok/1.16.10/lombok-1.16.10.jar), run it (Example: java -jar lombok-1.16.10.jar). A window should appear, browse to your eclipse.exe location.
  2. Click on install.
  3. Launch Eclipse, update project configuration on all projects and voila.

Upvotes: 264

Tiago Medici
Tiago Medici

Reputation: 2194

Download Lombok Jar, let’s maven do the download on our behalf :

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

Now... mvn clean install command on the newly created project to get this jar downloaded in local repository. Goto the jar location, execute the command prompt, run the command : java -jar lombok-1.16.18.jar

enter image description here

click on the “Specify Location” button and locate the eclipse.exe path LIKE : enter image description here

finally install this by clicking the “Install/Update”

Upvotes: 21

Vikki
Vikki

Reputation: 2015

I also encountered this issue, for my case, it's because I upgrade my IntelliJ IDEA without upgrading the Lombok plugin. So they are incompatible.

Upvotes: 1

Prakasam Dhamodhiran
Prakasam Dhamodhiran

Reputation: 91

1) Run the command java -jar lombok-1.16.10.jar. This needs to be run from the directory of your lombok.jar file.

2) Add the location manually by selecting the eclipse.ini file(Installed eclipse directory). Through “Specify location

Note : Don't add the eclipse.exe because it will make the eclipse editor corrupt.

How to add the eclipse.ini file

Upvotes: 1

akshay
akshay

Reputation: 1

If you are using maven , Go to maven dependencies in your project structure then run lombok jar as java project it will install it then exit and start eclipse

Upvotes: -1

ManishSingh
ManishSingh

Reputation: 1944

For Sprint STS - Place the lombok.jar file in the eclipse/sts exe folder and add the following entry to the STS.ini.

-javaagent:lombok.jar

Upvotes: 2

kranti
kranti

Reputation: 89

I am using Red hat Jboss developer studio. I solved this issue by:

  1. The project has lombok dependency. First look into your .m2 repository and find the lombok jar

  2. Double click on the jar, you will see installer there specify the path for IDE like C:\Users\xxx\devstudio\studio\devstudio.exe

  3. Restart the IDE and update the maven project the error will go

Upvotes: 1

CHANCHAL CHITWAN
CHANCHAL CHITWAN

Reputation: 49

Remove @Getter from private static field.

https://github.com/rzwitserloot/lombok/issues/1493

Upvotes: -1

Chad
Chad

Reputation: 778

For Spring ToolSuite 4 on Mac, they renamed the ini to SpringToolSuite4.ini.

You can either rename or copy it to STS.ini to be recognized by lombok. Then copy it back to the original name to be read by the IDE. (Haven't tried if symbolic links work though.)

Upvotes: 1

PacificSky
PacificSky

Reputation: 3500

Note that if you're using IntelliJ, you'll want to install the Lombok plugin (available from IDE settings) and also enable annotation processing.

Upvotes: 70

GoutamS
GoutamS

Reputation: 3763

  • If you use STS. You must have Lombok installed in your Eclipse by running lombok-xyz.jar

  • Please Try the Following the Steps:

    1. Include pom in Maven .
    2. Exit/Shutdown STS
    3. Find lombok Jar in ~/.m2/repository/org/projectlombok/lombok/version.x
    4. From Command Prompt/Shell java -jar lombok-1.x.y.jar Project Lombok Installer

    5. Start STS

Thats all.

EDIT: I did this and was still showing errors, as mentioned in the comments. So I updated the project: right-click on project -> Maven -> Update Project and the errors disappeared.

Upvotes: 131

neshant sharma
neshant sharma

Reputation: 314

These are command line instructions where the above Graphical version is not available or you can not open the Lombok jar file by double clicks, like in Ubuntu.

At the time of writing using Lombok is not straightforward as just adding a dependency in your POM xml file and adding the annotation. These are the next steps:

1) Locate where your Lombok jar file is downloaded by maven; Usually it is in .m2 folder inside your home directory. Then execute the following command.

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

example usage:

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/

the above command basically makes a configuration update in your IDE .ini or configuration file something like below:

-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

this ensures that the @Data or @Getter or @Setter annotations are understood by the IDE. It is weird that it had to be so complex.

Upvotes: 8

Fua
Fua

Reputation: 39

When using lombok on a fresh installation of Eclipse or STS, you have to:

  1. Install the lombok jar which you can get at https://projectlombok.org/download. Run the jar (as Administrator if using windows) and specify the path to your Eclipse/STS installation.

  2. Restart your IDE (Eclipse or STS)

  3. Give some time for eclipse to generate the class files for lombok (Might take a up to 4 mins in some cases)

Upvotes: 1

sancho21
sancho21

Reputation: 3643

If you use eclipse. You must have lombok installed in your Eclipse by running lombok-xyz.jar (e.g. you can find in ~/.m2/repository/org/projectlombok/lombok/1.12.6/lombok-1.12.6.jar).

As the window of installation opened, you must choose the location of your Eclipse. And let it install lombok inside. You must restart your Eclipse afterwards.

Upvotes: 8

Related Questions