Why shouldn I use the dependency classloader override property?
Because in most cases it isn’t needed. root.maven is equivalent to the project classloader, so is never needed. While root is the Ant classloader and has some valid uses, you should not load tasks into it unless absolutely necessary as it will then force itself on the other plugins executed afterwards. In particular any jakarta-commons libraries should not be in the root classloader as these can clash with Jelly.