Reputation: 7491
I downloaded lombok.jar (lombok-1.16.14.jar) put it into my Downloads. Then I clicked on this jar, the execution correctly identifies the Eclipse instances on my MacOS and then I selected the instance I want. Lombok is also specified in the pom.xml org.projectlombok lombok 1.16.14 provided
In eclipse.ini I got the addition: -javaagent:../Eclipse/lombok.jar
lombok.jar was added to the same directory as eclise.ini /Applications/Eclipse.app/Contents/Eclipse
I am still getting setter/getter errors in Eclipse Problems despite that my mvn
build works fine.
The code for a User:
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@EntityListeners(UserListener.class)
public class User implements Serializable, UserDetails {
...
The error:
The method getRole() is undefined for the type User
Upvotes: 26
Views: 55900
Reputation: 296
I might be late to reply here but for future references adding this answer,
Upvotes: 0
Reputation: 1133
For Eclipse neon on Mac (High Sierra) :
Use lombok version 1.16.14 or above.
Installer launches by running (double clicking) lombok-1.16.14.jar
file itself. It should detect installed versions.
On the Mac, it detects Eclipse.app only from Applications directory. If not, you can tell the jar where to find it in the popup dialog. Note that you should point it to eclipse.ini
file (Eclipse.app -> Show app contents -> eclipse -> eclipse.ini)
Lower versions of lombok do not work on High Sierra. They don't detect installed eclipse instances.
Finally remember to restart eclipse (via File -> exit) and run maven update project.
Upvotes: 0
Reputation: 1
Simply add to eclipse.ini file this statement (or check if you have):
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
Attention please, usually you have only:
-javaagent:lombok.jar
Obviously restart your eclipse
Upvotes: 0
Reputation: 1
Upvotes: 0
Reputation: 2372
For, after installing lombok like mentioned above I had to do right click on your project folder -> Run as -> Maven clean. Ne the .jar is deteced and properly used
Upvotes: 0
Reputation: 549
I have faced this issue recently and all the above solutions mentioned by the above users didn't work. The problem I have was there are special symbols like '$' in path(This can be found in last line of eclipse.ini file) to eclipse. Due to the same reason lombok cannot identify the file and append the necessary two lines in eclipse.ini file. Removing the special characters like '-' , '$', '_' in my eclipse path fixed mu problem
Upvotes: 0
Reputation: 2903
Eventhough there are already a lot of answers here none of the given answers solved my problem, so I'll add my information here as well in case it might help someone:
My setup is:
Win10 Home,
Eclipse Version: Oxygen.3a Release (4.7.3a),
Eclipse Build id: 20180405-1200,
.m2\repository\org\projectlombok\lombok\1.18.6>
java -jar .\lombok-1.18.6.jar
(or whatever version you haveNow it's getting intresting. The installation added the following to my eclipse.ini:
-javaagent:lombok.jar
How ever it placed them at the bottom of my .ini file. So it looked liked this.
--launcher.appendVmargs
-vmargs
-...
--add-modules=ALL-SYSTEM
-javaagent:lombok.jar
I assumed that -javaagent:lombok.jar
belongs under -vmargs
so I put it at the bottom of --launcher.appendVmargs
. That didn't work either though. But when I put -javaagent:lombok.jar
right below vmargs
it works. Ultimately my eclipse.ini looks like this:
--launcher.appendVmargs
-vmargs
-javaagent:lombok.jar # lombok works for me if this is here
-Declipse.p2.max.threads=10
- Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
-Dosgi.requiredJavaVersion=1.8
[email protected]/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
#-javaagent:lombok.jar | lombok doesn't work for me if its placed here.
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
Not sure why this issue orcurrs but maybe it helps you. If you are under macOS remember to add -Xbootclasspath/a:lombok.ja
like other answers in this thread suggest.
Upvotes: 0
Reputation: 121669
To elaborate on the above replies:
PROBLEM:
In my scenario:
Eclipse Photon
, Spring Boot/Gradle build
project, and I got the "undefined method" error using Lombok @Data
. SOLUTION:
NOTE:
java -jar lombok*.jar
brings up a GUI that
lombok-xyz.jar
into the Eclipse install folder, as lombok.jar
.Upvotes: 0
Reputation: 4714
There is a manual way to install lombok
under eclipse, I do not checked it, but it maybe helps you -
copy lombok.jar
to where your eclipse folder where is the eclipse.ini
open eclipse.ini
,put at end the below two lines below and save it
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
restart eclipse
.
Upvotes: 13
Reputation: 2359
Even after following the below steps(try the steps given below first) , if it doesn't works, one issue can be that you are using the eclipse from the desktop , not from the folder where eclipse is installed. Running eclipse from the desktop sometimes is unable to load the .ini file, hence lombok won't run. So, try running the eclipse from the folder where you have installed it.
Steps: 1. Give the lombok dependency in the pom and build it.
Now your eclipse installation folder, should contain the lombok.jar and eclipse.ini should contain the line -javaagent: /lombok.jar
Run the eclipse from the installation folder. Clean and rebuild the project. It should work now!
Upvotes: 3
Reputation: 98
exit the eclipse and then go to the eclipse directory and open eclipse.ini
and add -clean
on a top and rerun the eclipse. hope your problem is solved.
Upvotes: 0
Reputation: 1
After installing lombok, you need to copy lombok.jar into your project or add dependency in maven configuration xml file
Upvotes: 0
Reputation: 6790
As far as I am concerned, I use a "Chocolatey" distribution of Eclipse on Windows.
It does not change much. But for those of you who are not admin of their desktop, it might be a hassle, because Chocolatey installs softwares in C:\ProgramData\...
which is an "admin" directory.
In other words, you may need to modify your shortcut's property "start in" which will not be possible unless you are admin of your desktop.
The trick that worked for me here was to create a new shortcut, which has the correct "start in" property to start eclipse in the directory where the eclipse.ini is...
Then recompile using eclipse, then work on your project a bit until eclipse realizes that lombok was installed...
Cheers
Upvotes: 0
Reputation: 1086
I had the problem, that the link, which I used to start eclipse, didnt respect the eclipse.ini file.
My environment is:
IDE: Version: Neon.0 Release (4.6.0)
OS: Ubuntu 16.04.2 LTS
The installation routine java -jar lombok-1.16.16.jar
works quite well. I.e. it adds the reasonable line -javaagent:<ABSOLUTE_PATH_TO_ECLIPSE_INSTALLATION>/lombok.jar
to the eclipse.ini
.
But if I start eclipse by using my desktop-shortcut, it starts without lombok (checked by looking at "Help"->"About Eclipse").
If I start eclipse by executing the executable eclipse
next to the eclipse.ini
file, lombok launches like a charm.
Hence I checked my desktop shortcut (e.g. ~/.local/share/applications/eclipse.desktop
) and indeed, it started eclipse without reflecting the eclipse.ini
.
Instead it uses something like /usr/bin/java -jar org.eclipse.equinox.launcher.jar ...
to start eclipse.
So the solution was to replace the old Exec
line in the desktop shortcut by:
Exec=/opt/eclipse/neon/eclipse
where /opt/eclipse/neon/
is the place where I have installed eclipse.
Upvotes: 6
Reputation: 628
My environment is:
IDE: Version: Neon.3 Release (4.6.3)
OS: Ubuntu 16.4
It works for me when i do this steps below:
1. copy `lombok.jar` to where your eclipse folder where is the `eclipse.ini` ;
2. open `eclipse.ini`,put at end the two lines below with full lombok path and save it:
-Xbootclasspath/a:/DEV/Tools/IDE/eclipse/jee-neon/lombok.jar
-javaagent:/DEV/Tools/IDE/eclipse/jee-neon/lombok.jar
3. restart `eclipse` in command line (when i try run with exist link in launcher it's not work)
4. rebuild your projects
Upvotes: 1
Reputation: 7491
For me, downloading the latest Eclipse Neon, i.e. Neon 3, fixed the problem
Upvotes: 1
Reputation: 29150
Antoniolazaro has given a solution for Eclipse Neon issue on MacOS
When I put the complete path, it works on Mac Os.
-javaagent:/Applications/Eclipse.app/Contents/Eclipse/lombok.jar
And the lombok project owner rzwitserloot has given 3 suggestions for checking
'find eclipses'
capability as
the installer. Mac doesn't have a registry and we aren't going to
dump a bunch of crud in your homedir just to keep track of where we
installed your lombok;
we like it that way: No cruft. So, that part
(that the uninstaller can't find a custom-install location and
requires you to again specify it) is not a bug.lombok.jar
to your project as a dependency
same as any other third party dependency (something like guava, for
example). It's not clear from your problem description if you
actually did that.https://github.com/rzwitserloot/lombok/issues/1310
Upvotes: 5
Reputation: 435
try @Data annotation for the class.
public @Data class user{
\\do stuff
}
Upvotes: 1
Reputation: 3809
Since you have already added the .jar to your lib
folder, then go to the lib
and execute java -jar lombok-1.16.4.jar
, you'll see a wizard, specify the location of your eclipse.ini
, after you are done with this your eclipse.ini
file should look like this:
-vmargs
...
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
For me this just worked fine but I found in other answers that:
File -> Exit
and then open it again. taken from heremvn clean
just to make sure that you recompiled your classes. taken from hereMaven -> Update Project
taken from hereUpvotes: 51