So, I see that the project currently inherits from:
However, there are quite a few places where the values from this parent POM are being overrided and I'm not quite sure why. I would suggest that the Avro project should be pretty conservative here and be sticking as closely as possible to the parent POM. It will make things more maintainable, as long as the project updates the ASF Parent POM periodically, it will be pretty up to date with plugins and not have to manage each one individually.
I propose reverting some plugin versions so that the project more closely aligns with the POM and then the project need only stay in sync with the parent POM releases and not each plugin individually.