maven scope
maven中约定由于配置。
在dependence中,我们指定的GAV,但有一个scope没有配置,此时会使用默认的compile值。
* compile,缺省值,适用于所有阶段,会贯穿此项目的所有声明周期,会同项目(web)一同打包。
* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 会在项目(web)打包时排除掉此依赖。
* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
* runtime,只在运行时使用,不参与项目的编译周期,如JDBC驱动,但可能会在运行和测试阶段使用。
* test,只在测试时使用,用于编译和运行测试代码。不会同项目(web)一同打包。