Dependency scopes include project dependencies that are in line with the current, active stage of the build process. The different Dependency scopes in Maven are :
Compile : This scope specifies that the current dependency is available in the classpath of the current project.
Provided : This scope specifies that the web server will provide the dependency during runtime.
Runtime : This particular scope indicates that the dependency isn’t needed during compile time and is only needed during execution.
Test : This scope indicates that the dependency is available limitedly during the test compilation phase.
System : This scope specifies that the system path for the given build phase needs to be provided.
Import : This scope indicates that the given POM should be replaced with congruent dependencies in the POM’s <DependencyManagement> section.