compile: default scope. Scope refers to compile all the project classpath jar.
provided: compile and the like, or a class excluded jdk runtime container, such as Tomcat servlet class.
runtime: compiled when not needed, and needed when running the test.
test: only during the test.
system: provided explicitly dependent jar, the jar is not in the repository.
import: just to support dependencyManagement part pom file.