2020-10-21

Maven用法

为何用Maven

如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。

以往开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个Jar包、多一个Jar包往往会报一些让人摸不着头脑的异常。

而Maven就是一款帮助程序员构建项目的工具,我们可以用Maven管理大量的jar包。

Maven的核心概念

  • 约定的目录结构

  • POM

  • 坐标

  • 依赖

  • 仓库

  • 生命周期/插件

  • 继承

  • 聚合

img

为什么要遵守约定的目录结构

Maven要负责我们这个项目的自动化构建,以编译为例,要自动进行编译,必须知道Java源文件保存在哪里

如果我们自定义的东西要想让框架或者工具知道,有两种办法

以配置的方式明确告诉框架

<param-value>classpath:spring-context.xml</param-value>//明确告诉程序在哪个位置

遵守框架内部已经存在的约定

log4j.xml
log4j.properties

约定>配置>编码

常用Maven命令

必须进入pom.xml所在的目录

mvn clean:清理

mvn compile:编译主程序

mvn test-compile:编译测试程序

mvn test:执行测试

mvn package:打包

mvn install:安装

mvn site:生成站点

POM

pom.xml对于Maven工程是核心配置文件,与构建过程相关的一切设置都在这个文件中进行配置。

坐标

groupid:公司或组织域名倒序+项目名

<groupid>com.longtai.maven</groupid>

artifactid:模块名

<artifactid>Hello</artifactid>

version:版本

<version>1.0.0</version>

仓库

仓库的分类

  1. 本地仓库:当前电脑上部署的仓库目录,为当前电脑上所有Maven工程服务

  2. 远程仓库:(1)私服(2)中央仓库 (3)中央仓库镜像

依赖

  1. Maven解析依赖信息时会到本地仓库查找被依赖的jar包

    对于我们自己开发的Maven工程,使用mvn install命令安装后就可以进入仓库。

     

  2. 依赖的范围

    complie

    对主程序是否有效:有效

    对测试程序是否有效:有效

    是否参与打包:参与

    1

    test

    对主程序是否有效:无效

    对测试程序是否有效:有效

    是否参与打包:不参与

     

  3. provided

    对主程序是否有效:有效

    对测试程序是否有效:有效

    是否参与打包:不参与

    是否参与部署:不参与

     

 

 

 

依赖排除

 

<exclusions>

<exclusion>

<groupId>commons-logging</groupId>

<artifactId>commons-logging</artifactId>

</exclusion>

</exclusions>

 

建议配置方式

使用properties

 

  • 使用properties标签内使用自定义标签统一声明版本号

    <properties>

    <at.version>4.0.0.RELEASE</at.version>

    </properties>

  • 在需要统一版本的位置,使用¥{自定义标签名}引用声明版本号

    <version>${at.version}</version>

  • properties标签配合自定义标签声明数据的配置不是仅仅只用用于声明版本号

继承

需求:统一管理各个模块工程对jar包依赖的版本

解决思路:将jar包统一提取到父工程,在子工程中声明时不指定版本,以父工程为准,同时便于修改

操作步骤

  1. 创建一个Maven工程作为父工程。注意:打包的方式pom

     

  2. 在子工程中声明对父工程的引用

     

  3. 将子工程中与父工程坐标中重复的内容删除

     

  4. 父工程中统一管理jar包的依赖

     

  5. 在子工程中删除jar包依赖的相同版本号部分

     

 

聚合

  1. 作用:一键安装各个模块工程

  2. 配置方式:在一个”总的聚合工程“中配置各个参与聚合的模块

  3. 使用方式:在聚合工程的pom.xml上点击 run as maven install

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值