This project aims to be a functional replacement for plexus-utils in Maven.
It is not a 100% API compatible replacement though but a replacement with improvements: lots of methods got cleaned up, generics got added and we dropped a lot of unused code.
maven-shared-utils internally use commons-io. We shade all commons classes into our own private package to prevent classpath clashes.
This is the reason why any public API in maven-shared-utils must avoid to expose commons-io classes directly. Most times it's sufficient to just create an empty subclass and expose that instead.