Lombok: NetBeans compile on save does not work with 1.18.0

Created on 9 Jul 2018  路  10Comments  路  Source: projectlombok/lombok

Using Maven 3.5.0 on NetBeans 8.1, or Maven 3.3.9 on NetBeans 9.0 RC1, the result is the same.

  • Create a file and compile it
  • Observe it being in the class directory
  • Edit the file
  • File is no longer in the class directory

Issue does not occur on 1.16.18 or older versions, but does on all newer versions.

Most helpful comment

I had the same problems (SpringBoot Devtools not working due to missing class files) and it now works again with NetBeans 9.0 and lombok-edge. Time for a 1.18.3 release before Lombok gets a reputation of mysteriously breaking things?

All 10 comments

So 4ac941acca350b889ae6ccd6f455c992a5e49dce / #1555 is actually the commit that introduced this bug according to git bisect

Reverting that commit fixes compile on save, but re introduces red warnings all over the IDE itself.
Will investigate further.

Only NetBeans 8.1 is fixed by reverting that commit, not NetBeans 9 RC1

Guessing compile on save uses a different file manager that is not accounted for

Completely disabling the file manager hooking produces results which work everywhere, with the side effect that the dummy force new round file is left behind and the SneakyThrows ASM processing doesn't work - neither of which are issues to me. Unfortunately I can only figure out a way to disable this via a system property and not via the Lombok config which requires an AST to already be created.

My second attempt was to rewrite the FileManager hooking to be much more minimal, and I did this quite simply in a way that worked on Java 8 and Java 10 without any special code for either, unfortunately it did not work on Netbeans compile on save, and I'm not particularly sure how to debug that.

I think the only reason that commit appears to work is because lombok doesn't even run at all when thats reverted....

I give up for now, but advice on a way to implement the option in my first paragraph would be good.

Same as #1577
I've submitted a pull request (#1775 ) just before discovering your comments :)

I had the same problems (SpringBoot Devtools not working due to missing class files) and it now works again with NetBeans 9.0 and lombok-edge. Time for a 1.18.3 release before Lombok gets a reputation of mysteriously breaking things?

I can confirm that the fix works for Netbeans 8.2 + JDK 1.8 + Maven 3.5.4. Thanks for the fix!

I guess the bug could be closed?!

Thats ok for me

Was this page helpful?
0 / 5 - 0 ratings