Lombok does not work for Eclipse Neon

半腔热情 提交于 2019-12-03 04:47:46
imTachu

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:

  • You should not just "restart" Eclipse, go to File -> Exit and then open it again. taken from here
  • Don't forget to do a mvn clean just to make sure that you recompiled your classes. taken from here
  • After all this you should also right-click on your project, then Maven -> Update Project taken from here
Yu Jiaao

There is a manual way to install lombok under eclipse, I do not checked it, but it maybe helps you -

  1. copy lombok.jar to where your eclipse folder where is the eclipse.ini

  2. open eclipse.ini,put at end the below two lines below and save it

    -Xbootclasspath/a:lombok.jar
    -javaagent:lombok.jar
    
  3. restart eclipse.

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.

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

Resource Link:

  1. https://github.com/rzwitserloot/lombok/issues/1173

And the lombok project owner rzwitserloot has given 3 suggestions for checking

  1. Can you give us the complete path, from root, of your eclipse install? Starting with 1.16.14, the installer should still find eclipse even with the funky paths that the OOM installer comes up with. I have no idea why the installer isn't finding your eclipse automatically, here. I can't reproduce this on my mac.
  2. The lombok uninstaller has the same '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.
  3. You still have to add 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.

Resource Link:

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

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.

  1. The lombok.jar is usually downloaded in the folder .m2/repository/org/projectlombok/lombok/1.x.y
  2. Install the jar in the folder "java -jar lombok-1.x.y.jar"
  3. Then it will ask you to select the IDE. Browse to the eclipse installation folder and select eclipse from there.
  4. Now your eclipse installation folder, should contain the lombok.jar and eclipse.ini should contain the line -javaagent: /lombok.jar

  5. Run the eclipse from the installation folder. Clean and rebuild the project. It should work now!

try @Data annotation for the class.

public @Data class user{
 \\do stuff
 }

For me, downloading the latest Eclipse Neon, i.e. Neon 3, fixed the problem

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

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

After installing lombok, you need to copy lombok.jar into your project or add dependency in maven configuration xml file

Somnath Singh

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.

To elaborate on the above replies:

  • PROBLEM:

    In my scenario:

    1. I installed SpringBoot STS under Eclipse Photon,
    2. I created aSpring Boot/Gradle build project, and I got the "undefined method" error using Lombok @Data.
    3. Environment: Ubuntu Linux 18.04.
  • SOLUTION:

    1. cd ~/.gradle/cache/.../lombok/...;
    2. java -jar lombok-1.16.22.jar
  • NOTE:

    java -jar lombok*.jar brings up a GUI that

    1. Allows you to select which Eclipse install to update.
    2. Updates eclipse.ini AND...
    3. Copies lombok-xyz.jar into the Eclipse install folder, as lombok.jar.

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,
  1. Add lombok to my pom.xml
  2. mvn clean install
  3. close eclipse
  4. navigate to my .m2 folder .m2\repository\org\projectlombok\lombok\1.18.6>
  5. run: java -jar .\lombok-1.18.6.jar (or whatever version you have
  6. Install lombok

Now 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 -vmargsso I put it at the bottom of --launcher.appendVmargs. That didn't work either though. But when I put -javaagent:lombok.jarright 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
-Dosgi.instance.area.default=@user.home/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.jalike other answers in this thread suggest.

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!