maven学习(6)-Maven依赖范围
一、maven依赖范围:
classpath 分为三种:编译classpath , 测试classpath , 运行classpath
Scope 选项如下:
Compile:编译依赖范围。默认就是compile。在编译,测试,运行都有效;
Test:测试依赖范围。仅测试有效; 例如JUnit;
Provided:已提供依赖范围。编译,测试有效,运行时候无效。例如servlet-api。
System:系统依赖范围。(了解即可)使用system 范围的依赖必须通过sytemPath 指定依赖文件的路径。
Import:导入依赖范围。(了解即可)使用dependencyManagement 时候,可以导入依赖配置。
编译classpath,测试classpath,运行classpath,就看编译、测试、运行的时候是不是加载这个jar;
Scope:
test: 只是在进行测试的时候需要用一下而已;
provided: ....例如servlet-api,什么意思?比如我们把user-web打包(maven install),查看这个war包,发现web-inf/classes下面也有servle-api这个jar包,但是是不需要的,发布到tomat里面,tomcat的lib下面本身就有了servlet-api了;
因此将user-web/pom.xml改下:
<!-- 添加Servlet支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <scope>provided</scope> </dependency>
二、Maven 生命周期
了解下;
什么意思呢?我们进行的一些maven compile,maven test,maven install,maven clean等一些操作,都是有一系列过程的(基本上都是由一些插件进行的);
Maven 生命周期简介:Maven 通过插件的方式完成一系列过程来实现功能。
Maven 拥有三套独立的生命周期:
Clean 清理项目
Default 构建项目
Site 建立项目站点(了解即可)
Clean 生命周期:
1,pre-clean 执行一些清理前需要完成的工作;
2,clean 清理上一次构建生成的文件;
3,post-clean 执行一些清理后需要完成的工作;
Default 生命周期:
1,validate;
2,initialize;
3,generate-sources;
4,process-sources;
5,generate-resources;
6,process-resources;
7,compile;
8,process-classes;
9,generate-test-sources;
10,process-test-sources;
11,generate-test-resources;
12,test-compile;
13,process-test-classes;
14,test;
15,prepare-package;
16,package;
17,pre-integration-test;
18,integration-test;
19,post-integration-test;
20,integration-test;
21,post-integration-test;
22,verifty;
23,install;
24,deploy;
Site 生命周期:
1,Pre-site;
2,site;
3,post-site;
4,site-deploy;