Lombok is not generating getter and setter

JavaEclipseMavenLombok

Java Problem Overview


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?

Java Solutions


Solution 1 - Java

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.

Solution 2 - Java

  • 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
  1. 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.

Solution 3 - Java

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

Solution 4 - Java

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”

Solution 5 - Java

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.

Solution 6 - Java

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

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.

Solution 7 - Java

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

Solution 8 - Java

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

Solution 9 - Java

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.

Solution 10 - Java

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

Solution 11 - Java

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

Solution 12 - Java

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

Solution 13 - Java

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)

Solution 14 - Java

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.)

Solution 15 - Java

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/

Solution 16 - Java

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

Solution 17 - Java

  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

Solution 18 - Java

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.

Solution 19 - Java

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.

Solution 20 - Java

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.

Solution 21 - Java

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

Solution 22 - Java

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.

Solution 23 - Java

Remove @Getter from private static field.

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

Solution 24 - Java

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionHeetolaView Question on Stackoverflow
Solution 1 - JavaHeetolaView Answer on Stackoverflow
Solution 2 - JavaGoutamSView Answer on Stackoverflow
Solution 3 - JavaPacificSkyView Answer on Stackoverflow
Solution 4 - JavaTiago MediciView Answer on Stackoverflow
Solution 5 - Javasancho21View Answer on Stackoverflow
Solution 6 - Javaneshant sharmaView Answer on Stackoverflow
Solution 7 - JavaFaxon Lander MontenegroView Answer on Stackoverflow
Solution 8 - JavaRajat KumarView Answer on Stackoverflow
Solution 9 - JavaAshish SinghView Answer on Stackoverflow
Solution 10 - JavaManishSinghView Answer on Stackoverflow
Solution 11 - JavaJimmyView Answer on Stackoverflow
Solution 12 - JavaRobert MakritskyView Answer on Stackoverflow
Solution 13 - JavaFuaView Answer on Stackoverflow
Solution 14 - JavaChadView Answer on Stackoverflow
Solution 15 - JavazedtimiView Answer on Stackoverflow
Solution 16 - JavakrantiView Answer on Stackoverflow
Solution 17 - JavaPrakasam DhamodhiranView Answer on Stackoverflow
Solution 18 - JavaVikkiView Answer on Stackoverflow
Solution 19 - JavaPritam BanerjeeView Answer on Stackoverflow
Solution 20 - JavaRishabh AgarwalView Answer on Stackoverflow
Solution 21 - JavaLijoView Answer on Stackoverflow
Solution 22 - JavaOsifyView Answer on Stackoverflow
Solution 23 - JavaCHANCHAL CHITWANView Answer on Stackoverflow
Solution 24 - JavaakshayView Answer on Stackoverflow