Lombok and STS issue - Method undefined

Karthik R picture Karthik R · May 27, 2015 · Viewed 24.1k times · Source

I have STS version 3.6.3.SR1 that's based on Eclipse Luna 4.4.1.

I did the following steps:

  1. Download and run the Lombok runnable jar and gave the path of my STS.
  2. I verified the entries of vmargs, but was missing Xbootclasspath and added it resulting in

    -vmargs -Dosgi.requiredJavaVersion=1.6
    -XX:MaxPermSize=256m
    -Dorg.eclipse.swt.browser.IEVersion=10001
    -Xms512m
    -Xmx1024m
    -javaagent:C:\tools\Lombok\lombok.jar
    -Xbootclasspath/a:C:\tools\Lombok\lombok.jar
    
  3. I exit and opened the STS both from shortcut as well as the absolute location of the STS.exe.

  4. I verified the outline of my Java classes that are annotated with @Data and other Lombok annotations. I can see the getters and setters generated. Even auto assist displays the method.
  5. I did Maven → Update Project and even did a Project Clean
  6. Confirmed that the Lombok is installed as well from the 'About STS' of 'Help'.

Even after all the above activities, there are lots of compiler issues that complains undefined method getXXX() and setXXX() on all @Data or @Getter or @Setter annotations.

Maven build runs successfully and the runtime behavior is fine, as the complied class seems to have the getters and setters.

IntelliJ seems to have no porblem with this as other developers are able to use the library.

My pom.xml has the following entry as well:

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

How do I resolve?

P.S : I downloaded Eclipse Kepler build on top of STS to enable JBoss Fuse Tooling.

Answer

RandomWanderer picture RandomWanderer · Oct 31, 2016

@Karthik R, thanks for your post. The following helped me to solve the issue:

  1. Go to the Lombok page and download and double-click the jar and install in your IDE.
  2. After that, open the .ini file and see if it has javaagent and Xbootclasspath variables.

In my case, Xbootclasspath was missing and when I added that, it worked.


-Xbootclasspath/a:PATH_To_lambok.jar