一、maven依赖范围:
classpath 分为三种:编译classpath , 测试classpath , 运行classpathScope 选项如下: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改下:
javax.servlet javax.servlet-api provided javax.servlet.jsp javax.servlet.jsp-api provided
二、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;