Maven的基本概念以及idea相关配置及使用

Maven 自动化构建工具

第一章 Maven简介

1.1软件开发阶段

需求阶段:分析项目具体完成的功能,有什么要求,具体怎么实现

设计阶段:根据分析结果,设计项目使用什么技术,解决难题

开发阶段:编码实现功能,编译代码,自我测试

测试阶段:专业测试人员,测试项目是否符合设计要求,出测试报告

项目打包,发布阶段:给用户安装项目


1.2 Maven 能做什么

1)项目自动构建,帮助开发人员做项目代码的编译(Maven可以一次编译多个文件),测试,打包,安装,部署等

2)管理依赖(管理项目中的jar包

依赖:项目中所需要的其他资源,常见的jar,比如项目要使用Mysql驱动。(我们就说项目依赖Mysql驱动)

1.3 没有使用Maven怎么管理依赖

1)管理jar,需要从网络单独下载某个jar

2)需要选择正确的版本

3)手工处理jar文件之间的依赖。(例如:a.jar里面使用b.jar的类

1.4什么是Maven

1)Maven是apache基金会的开源项目,使用java开发

2)Maven是项目的自动化构建工具,管理依赖

1.5 Maven 中的概念

  • pom

  • 约定的目录结构

  • 坐标

  • 依赖管理

  • 仓库管理

  • 生命周期

  • 插件和目标

  • 继承

  • 聚合

第二章 Maven核心概念

2.1 约定的目录结构

maven 项目使用大多数人遵循的目录结构。叫做约定的目录结构,一个maven项目是一个文件夹。(例如:项目名hello

hello

src

main//主程序目录(完成项目功能的配置文件)

java//源代码(包和相关类定义)

resources//配置文件

test//测试程序代码(开发人员自己写的测试代码)

java//测试代码(junit)

resources//测试程序的配置文件

pom.xml//maven的配置文件,核心文件

maven可以独立使用:创建项目,编译代码,测试程序,打包,部署等。

maven和idea一起使用:通过idea借助maven,实现编码,测试,打包等。

编译是在项目文件的src文件目录下进行,mvn compile进行编译,第一次花的时间比较长,因为要下载很多依赖。

编译完成后,src文件目录有target文件,里面的classes就是编译后的,class文件可以使用java+文件名进行运行。

2.2 POM文件

全称:project object model 项目对象模型,pom.xml是maven的灵魂,maven把一个项目的结构和内容抽象成一个模型,在xml文件中进行声明,以便进行构建和描述。


maven把项目当作模型处理,操作这个模型就是操作项目。maven通过pom.xml文件实现先阿嘎木的构建和依赖的管理。

hello的pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>

<groupId>com.bjpowernode</groupId>
<artifactId>ch01-maven</artifactId>
<version>1.0-SNAPSHOT</version>
​
<dependencies>
​
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
​
</dependencies>
​
​
​
<properties>
    <java.version>1.8</java.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

</project>

2.3坐标

坐标组成:groupId,artifactId,version

坐标的作用:资源的唯一标识。在maven中,每个资源都是坐标,坐标值是唯一确认的,简称gav。

groupId:组织名称,(公司,单位,团体标识,这个值常使用公司域名的倒写)例:www.baidu.com groupid:com.baidu

如果项目规模比较大,也可以使用域名倒写+大项目的名称:com.baidu.appollo

artifactid:项目名称,如果groupid中有项目,此时当前的值是子项目名,项目名称是唯一的。

version:版本项目版本号,使用数字。三位组成:例如:主版本号,次版本号,小版本号。例如:5.5.3

注:版本号有-SNAPSHOT,表示快照,不是稳定的版本。

<packaging>项目打包的类型,有jar,war,ear,pom等,默认是jar写在项目坐标下方


项目使用gav:

1.每个Maven项目,都需要一个自己的gav。

2.管理依赖,需要使用其他的jar,也需要使用gav作为标识。

mvnrepository仓库网址用于搜索依赖项,添加到pom.xml中

2.4 依赖 dependency

依赖:项目中要使用的其他资源jar

需要使用maven表示依赖,管理依赖,通过使用dependency和gav一起完成依赖的使用,需要在pom.xml中,使用dependency和dependencies,还有gav完成依赖的说明。

<dependencies>

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

</dependencies>

2.5 仓库

仓库的存放:1.maven工作自己的jar包;2.第三方其他的jar,比如项目于要使用的mysql驱动;3.自己写的程序,打包为jar,存放到仓库中

仓库分类:

  • 本地仓库:位于自己计算机之上,是磁盘中的某个目录

  • 本地仓库:默认路径,登录操作系统的账号目录中/.m2/repository

    例如:C:\users\31522\.m2\repository

  • 修改本地仓库的位置:修改maven工具配置文件(maven的安装路径\conf\setting.xml)

    步骤

    1)创建一个目录,作为仓库使用。目录不要有中文和空格。目录不要太深。例如:D:\mavenrepository

    2)修改setting.xml文件,指定上述目录路径(将D:\mavenrepository路径拷贝到 <local Repository> 和 </local Repository> 之间

    maven的工作方式 :

    自己项目的pom.xml(执行maven操作),从本地仓库,到私服(公司自己的maven服务器),到中央仓库镜像或者中央仓库,一级一级往上找,找到就返回。

    2.6 maven的生命周期,插件和命令

    maven生命周期:项目构建的各个阶段。包括:清理,编译,测试,报告,打包,安装,部署

    插件:要完成构建项目的各个阶段,要使用maven命令,执行命令的功能是通过插件完成的(插件是jar,一些类)

    命令:执行maven功能,由命令发生

    单元测试(junit):一个单元测试工具,java常用

    单元:在java中指方法,一个方法为一个单元,方法是测试的最小单元。

    作用:使用junit测试是否完成要求。开发人员自测

    使用方式:

    1)加入junit依赖

    2)在src/test/java目录中创建测试文件。写测试代码

    单元测试使用建议:

    • 测试类的定义:名称Test+测试类的名称

    • 测试类包名和要测试的类的报名一样

    • 类中定义方法:要测试的代码

      方法的定义:public +方法,没有返回值,方法名称自定义,方法没有参数(建议Test+测试的方法名

    • 测试类中的方法,可以单独执行,测试类也可以

    • 在方法上方+@Test做注解

    命令!!

    1)mvn clean:清理命令,作用删除以前生成的数据(删除target目录)

    插件:maven-clean-plugin 版本2.5

    2)mvn compile 编译,把src/main/java目录中java代码编译为class文件,把class文件拷贝到target/classes目录中,classes是存放类文件的根目录

    插件:maven-compile-plugin版本3.1(代码编译插件)

    maven-resources-plugin版本2.6资源插件,处理文件

    (作用:把src/main/resources目录下的文件拷贝到target/classes目录中)

    3)mvn test-compile:测试编译(编译src/test/java目录下的文件),将生成的class文件拷贝到target/test-classes目录。同时把src/test/resources目录中的文件拷贝到test-classes目录中

    插件:同上

    4)maven test:测试命令,作用执行test/classes目录的程序,测试src/main/java目录中的主程序代码是否符合要求

    插件:maven-surefire-plugin版本:2.12.4

    5)mvn package:打包,作用把项目中的资源class文件和配置文件都放进一个压缩文件中,默认压缩文件格式(.jar)

    web应用是war类型

    插件:maven-jar-plugin版本:2.4执行打包处理,生成jar扩展文件

    放在target目录下

    生成:ch01-maven-1.0-SNAPSHOT.jar

    打包的文件名:artifactId+version+packaging(只包含类文件和配置文件)只有主函数的文件,没有test文件

    6)mvn install:把生成的打包文件安装到maven仓库中

    2.7 自定义配置插件

    pom.xml文件中,build标签中,设置插件


第三章 Maven和Idea相结合

3.1在Idea中集成maven

idea有一个自导的maven,但往往不用自带的,通常使用自己安装的maven

步骤!

这个地方和上面一 样设置,一模一样

3.2 在idea中构建基于maven的java项目

快捷键ctrl+alt+shift+s

选择使用模板(选择创建的文件是java项目还是web项目!!)

名称+坐标(之前提到)

不用修改点完成~

文件已创建好

左边:文件目录

maven基本操作通过右侧工具栏使用​​​​​​​

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值