篇一:maven基础概念
一、maven基础概念
1、maven是项目管理工具,主要用于:jar包管理、
2、生命周期(lifecycle):清理、编译、测试、测试报告、打包、部署。每一个构建过程对应一个lifecycle,而每一个lifecycle对应多个phase(阶段),phase可以理解为接口,goal理解为phase的具体操作
maven中jar包坐标:坐标由groupId、artifactId、version、classfier、type五部分组合而成,因此每一个jar的坐标都是独一无二的
二、maven命令行操作
三、maven的依赖
maven最大的优势在于jar包版本的统一管理,尤其是中央仓库
1、maven引入jar
基本要素:groupId、artifactId、version
<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.5.2</version> </dependency>
2、jar的类型定义:
<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.5.2</version> <scope>compile</scope> </dependency>
五种类型的jar引入:scope
* compile,缺省值,适用于所有阶段,会随着项目一起发布。
* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
* test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
3、全局和版本的管理
maven工程分为pom、war、jar,pom工程可以对子工程进行jar的统一配置(子过程全部包含jar),可以对jar的版本进行统一
<!-- 所有得到依赖都统一放在dependencies中 --> <dependencies> <!-- pom工程中dependency依赖的jar,会在子工程中自动添加 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.0.RELEASE</version> </dependency> <!-- pom工程中dependencyManagement依赖的jar,子工程中不自动添加,可以统一配置版本 --> <dependencyManagement> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.0.RELEASE</version> </dependencyManagement > </dependencies>
四、maven的继承和聚合
1、maven的继承
a、A依赖B,B依赖C,A中自动添加B、C的依赖包
b、A依赖B,A依赖C,B和C中不同版本的jar包,A会按照先后顺序,以最先依赖的为主
2、maven的聚合
maven聚合:自动化打包
<!-- 在父工程pom.xml中添加,格式(../工程名) --> <modules> <module>../common-model</module> <module>../common-dao</module> <module>../common-interface</module> </modules>

浙公网安备 33010602011771号