Maven学习笔记

Maven简介 

Maven 是项目构建工具,能把项目抽象成POM(project object model),Maven使用POM对项目进行构建、打包、文档化等操作。其最重要的是解决了项目需要依赖类库的依赖管理,简化了项目开发环境搭建的过程。

Maven采用了不同方式对项目进行构建,例如,源码位置总是在 src/main/java 中,配置文件则是在 src/main/resources 中,编译好的类放于项目的 target 目录下。其优点有以下几个:

  1. Maven屏蔽了构建项目的复杂过程,使得构建项目变得很容易。
  2. 统一了构建项目的方式,不同人,不同公司都有同样的描述项目(POM)和构建项目(一系列插件)的方式。
  3. 提出了一套开发项目的最佳实践,而不用每个项目都有不同的结构和构建方式。
  4. 解决了类库依赖的问题,只需要声明使得类库,Maven就会自动从仓库下载依赖的jar包,并管理jar包之间的冲突。

Maven核心:

 Maven的核心是 pom.xml ,用 XML方式描述了项目模型。pom.xml通常有以下元素:

  • groupId:表示项目所属组,通常是一个公司或者组织的名字,如 com.asiainfo.demo  。

  • artifactId:项目唯一的标识。如 spring-boot-start-web 。

注: groupId 和artifactId能唯一标识一个项目或者一个库,通常称之为 项目坐标(groupId+artifactId)。

  • packaging:项目的类型,常用的有jar 和war两种,jar表示项目会打包成一个jar包,这也是springboot的默认使用方式。

  • version:项目的版本号。

  • modelVersion:代表pom文件的Maven版本。

  • dependencies:此元素下包含了多个dependency,用来声明项目的依赖,这是pom最核心的部分。

  • dependency:包含在dependcies中,用来声明项目的依赖。

     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
            <scope>runtime</scope><!--表示dependency不作用在编译时,但会作用在运行和测试时-->
     </dependency>
  •  scope:代表此类库与项目的关系。常用属性有:

  1. compile:默认值,表示编译和打包时都需要用到此类库。

  2. provided:表示在编译阶段是需要,打包阶段不需要。

  3. test:表示仅在单元测试时需要。

  4. runtime:表示在编译和打包时都不需要,但在运行时需要。

  • build:此项在pom中可选,包含了多个plugin插件,用来辅助项目构建。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值