As such, they are required to build, test, and run, and are not propagated. The main difference is that system dependencies are not retrieved from a repository but from a hard written address on the filesystem. When scope value is system, then an additional tag is mandatory: systemPath, which points at the location of the needed archive. jar As in the preceding example, most of the time system dependencies are needed to process or generate sources. Among the use cases is the generation of code thanks to annotations.
Apache Maven dependency management by Jonathan Lalou