Skip to content

Eclipse vs. Gradle

Erstellt am27. Februar 2024 at 03:22 PM

Eclipse, Gradle, Lombok und seltsame ClassNotFoundException, NoSuchMethodError und NoSuchFieldError

Disclaimer: ich kann es bisher nicht reproduzieren, das Problem hat aber bereits einige Stunden gekostet. Drei Mal.

Die Voraussetzungen:

Die Symptome

Ursachen

Was man dann herausfindet, war mir nur teilweise bekannt:

Wenn man dann weiter sucht, finden sich in ./bin/default einige .class-Files, die vermutlich irgendwann mal mit irgendeinem Stand kompiliert wurden, der nicht mehr passt.

Die Lösung ist also: ./bin/default löschen. Problem solved.

Meine Vermutung ist, dass es beim Import eines Gradle-Projekts nach Eclipse irgendwo eine Art Race Condition gibt. Eclipse versucht schonmal, irgendwas zu kompilieren, ohne dass das Setup vollständig ist. Im Ergebnis bleiben alte .class-Files in ./bin/default liegen und es ist, nun ja, dann halt kaputt.

Evtl. ist auch das Lombok-Plugin beteiligt, ohne habe ich das Problem nie beobachtet.

Aber wie gesagt, reproduzieren kann ich es auch nicht, und drei Fälle sind zu wenig, das ist geraten. Vielleicht hilft es trotzdem jemandem.