How to override Lombok Setter methods

Either you just hit a bug I’ve never seen or you’re testing it wrong.

An annotation like

@Setter(AccessLevel.NONE) private String age;

on the field level indeed stops the setter from being generated. But given that you’re defining a setter, you don’t even need it. An explicit @Setter stops the generation, too.

I’ve just tried your example using Eclipse 4.7.3a and Lombok 1.18.0 and your (buggy) setter gets called. I’ve been using Lombok a lot over a few years and never encountered such a bug.

Most probably the problem is that your JSON deserializer does not use setters at all. I guess, you’re testing something like

DefaultModel defaultModel = deserialize("{\"name\":\"some\"}", DefaultModel.class);

instead of testing the setter directly. And that’s the problem.

Leave a Comment