Managing project classloader

Many plugins have to lauch a class using a custom classloader that mixes a plugin dependency (the tool) with the project dependencies and classpath elements.

Usage

ProjectClassLoaderUtil has static methods to created the required URLClassLoader using the MavenProject. The classpath is built depending on standard Artifact scopes, and may include project source roots.

Optionnaly, the constructed ClassLoader can include some more artifacts, for example the one obtained from Maven with expression $plugin.artifacts.