Maven的生命周期

生命周期

1、mvn compile 编译,将Java 源程序编译成 class 字节码文件。

2、mvn test 测试,并生成测试报告

3、mvn clean 将以前编译得到的旧的 class 字节码文件删除

4、mvn pakage 打包,动态 web工程打 war包,Java工程打 jar 包。会自动进行clean+compile

5、mvn install 将项目生成 jar 包放在仓库中,以便别的模块调用 

6、mvn deploy 上传到私服中,以便别的模块调用
 

scope依赖范围

既然,Maven的生命周期存在编译、测试、运行这些过程,那么显然有些依赖只用于测试,比如junit;有些依赖编译用不到,只有运行的时候才能用到,比如mysql的驱动包在编译期就用不到(编译期用的是JDBC接口),而是在运行时用到的;还有些依赖,编译期要用到,而运行期不需要提供,因为有些容器已经提供了,比如servlet-api在tomcat中已经提供了,我们只需要的是编译期提供而已。

总结来说:
  • compile:默认的scope,运行期有效,需要打入包中。

  • provided:编译期有效,运行期不需要提供,不会打入包中。

  • runtime:编译不需要,在运行期有效,需要导入包中。(接口与实现分离)

  • test:测试需要,不会打入包中。

  • system:非本地仓库引入、存在系统的某个路径下的jar。(一般不使用)

version分为开发版本(Snapshot)和发布版本(Release)

原文地址:https://www.cnblogs.com/h-c-g/p/10951892.html