java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Maven使用方法

Maven使用方法详及方式详细介绍

作者:几分醉意.

使用maven仓库的话需要从网上下载maven的包,比如“apache-maven-3.5.4-bin.tar”,下载完成之后解压,在解压的文件夹中的conf目录下的settings.xml文件夹下就可以配置maven远程仓库和本地仓库的地址

Maven简介

1、软件开发中的阶段

需要分析:分析项目具体完成的功能,有什么要求,具体怎么实现。设计阶段:根据分析的结果,设计项目的使用什么技术,解决难点。开发阶段:编码实现功能,编译代码,自我测试。测试阶段:专业的测试人员,测整个项目的功能十分符合设计要求。出一个测试告。项目的打包,发布阶段:给用户安装项目。

2、Maven能做什么

1)项目的自动构建,帮助开发人员做项目代码的编译,测试,打包,安装,部署等工作。

2)管理依赖(管理项目中使用的各种jar包)。

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

3、没有使用maven怎么管理依赖

管理jar,需要从网络中单独下载某个jar,需要选择正确版本,手工处理jar文件之间的依赖。a.jar里面要使用b.jar的类。

4、什么是maven

maven是apache基金会的开源项目,使用java语法开发。Maven这个单词的本意是:专家,内行。读音是['meIv(e)n]或['mevn]。

maven是项目的自动化构建工具,管理项目的依赖。

约定目录结构

maven项目使用的大多人遵循的目录结构,叫做约定目录结构。一个maven项目是一个文件夹。

比如项目叫做Hello

maven的使用方式

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

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

POM文件

POM:Project Object Model项目对象模型,maven把项目当做模型处理。操作这个模型就是操作项目。maven通过pom.xml文件实现项目的构建和依赖的管理。

pom 文件:即 Project Object Model项目对象模型。 Maven把一个项目的结构和内 容抽象成一个模型,在xml文件中进行声明,以方便进行构建和描述,

pom.xml是Maven的灵魂。所以,maven环境搭建好之后,所有的学习和操

作都是关于pom.xml的。

那么我们来看一下pom.xml文件是什么样的

<?xml version="1.0" encoding="UTF-8"?>
        <!--project是跟标签,后面是约束文件-->
<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">
  <!--pom模型的版本,就是4.0.0-->
  <modelVersion>4.0.0</modelVersion>
  <!--坐标-->
  <groupId>youfei1_v</groupId>
  <artifactId>ch01-Maven-j2se</artifactId>
  <version>1.0</version>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
</project>

坐标的概念

坐标组成是groupid,artifiactld,version。坐标概念来自数学。

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

拿servlet依赖举例

		<!--servlet依赖-->
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version> 

groupid:组织名称,代码。公司,团体或者单位的标识。这个值常使用的公司域名的倒写。例如:学校的网站www.sanlian.com,groupId:com.sanlian

如果项目规模比较大,也可以是域名倒写+大项目名称。

例如:www.baidu.com , 无人车:com.baidu.appollo

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

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

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

项目使用gav:

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

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

依赖 dependency

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

需要使用maven表示依赖,管理依赖。通过使用dependency和gav一起完成依赖的使用。

注意:需要在pom.xml文件中,使用dependencies和dependency,还有gav完成依赖的说明。

使用依赖的格式:这里拿junit依赖举例,标签中的指的是项目的公司,标签中指的是项目名称,标签中指的是项目的版本。

  <dependencies>
    <!--测试-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>

注意:标签要放到标签的下面

打包类型

标签:项目打包的类型,有jar,war,ear,pom等等,默认是jar。

注意:标签的放置位置是这个项目的坐标下面

例如:

<!--坐标-->
  <groupId>youfei1_v</groupId>
  <artifactId>ch01-Maven-j2se</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

仓库概念

仓库是存东西的,maven的仓库存放的是:

1.maven工具自己的jar包。

2.第三方的其他jar,比如项目中要使用mysql驱动。

3.自己写的程序,可以打包为jar存放到仓库。

修改本地仓库位置

本地仓库(本机仓库):位于你自己的计算机,它是磁盘中的某个目录

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

C:\Users\NING MEI.m2\repository

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

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

例如:D:\oppo

2)修改setting.xml文件,指定到刚刚创建的目录,例如:D:\oppo

实例演示:找到maven安装目录下的conf目录中的settings.xml文件,

在这个文件里面增加这个标签,里面指定新的仓库地址

仓库的工作方式

仓库的分类

本地仓库, 就是你的个人计算机上的文件夹,存放各种jar。

远程仓库,在互联网上的,使用网络才能使用的仓库。

①:中央仓库,最权威的,所有的开发人员都共享使用的一个集中的仓库,

②:中央仓库的镜像:就是中央仓库的备份,在各大洲,重要的城市都有镜像。

③:在公司内部,在局域网中使用的,不是对外使用的。

仓库的使用,maven仓库的使用不需要人为参与。

如果仓库中有这个jar包就会用,没有就会去互联网上下载,从网络下载的资源,最终会存到本地仓库一份, 当你下次在用的时候,直接从本地仓库首先获取资源。

例如开发人员需要使用mysql驱动,maven首先查本地仓库—>私 服—>镜像—>中央仓库。

配置文件说明

例如:spring依赖和spring-aspects依赖,这些东西表示我们项目中要用到spring和spring-aspects jar包,由maven在仓库中找到这个jar包并使用它。

<!--spring依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
    <!--spring-aspects依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>

注意:执行命令要在项目的pom文件所在的位置执行命名。

junit单元测试

单元测试(junit):

junit是一个单元测试的工具,在java中经常使用。

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

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

使用单元测试

  <dependencies>
    <!--测试-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>

在src/test/java目录中创建测试类文件。写测试代码,单元测试使用的建议:

1.测试类的定义,名称一般是Test+要测试的类名称

2.测试类它的包名和要测试的类包名一样。

3.在类中定义方法,要测试代码。

方法的定义:public方法, 没有返回值

方法名称自定义(建议Test+测试的方法名称)

方法没有参数

4在测试类中的方法,可以单独执行。测试类也可以单独执行

5.在方法的上面加入@Test

生命周期与插件和命令

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

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

命令:执行maven功能是由命令发出的。比如mvn compile

命令:

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

插件:maven-clean-plugin,版本是2.5。

②mvn compile:编译命令,执行的代码编译,把src/main/java目录中的java代码编译为class文件,同时把class文件拷贝到target/classes目录。这个目录classes是存放类文件的根目录(也叫做类路径, classpath)

插件:maven-compiler-plugin版本3.1编译代码的插件

maven-resources-plugin版本2.6资源插件,处理文件的。作用是把src/main/resources目录中的文件拷贝target/classes目录中。

③mvn test-compile:编译命令,编译src/test/java目录中的源文件,把生成的class拷贝到target/test-classes目录。同时把src/test/resources目录中的文件拷贝到test-clasess目录

插件:maven-compiler-plugin版本31编译代码的插件

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

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

插件:maven-surefire-plugin版本2.12.4

⑤mvn package:打包,作用是把项目中的资源class文件和配置文件都放到一个床缩文件中,默认压缩文件是jar

类型的。web应用是war类型,扩展是jar,war的。

插件:maven-jar-plugin版本2.4执行打包处理。生成一个jar扩展的文件,放在target目录下,I

打包的文件包含的是src/main目录中的所有的生成的class和配置文件和test无关。

⑥mvn install:把生成的打包的文件,安装到maven仓库。

插件:maven-install-plugin版本2.4把生成的jar文件安装到本地仓库。

注意:每执行一个命令,都会自动先执行前面的, 例如:执行第二个编译命令,它首先会自动执行清理命令,执行第三个编译test命令,它首先会自动执行第一个清理命令和第二个编译命令。

自定义配置插件

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

例如设置构建项目相关内容

<build>
<plugins>
<!--设置插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source> <!--指定编译代码的jdk版本-->
<target>1.8</target> <!--运行java程序使用的jdk版本-->
</configuration>
</plugin>
</plugin>
</plugin>

注意:默认使用1.7版本的jdk 通过此方式 可以更改;build标签和project标签平级。

到此这篇关于Maven使用方法详及方式详细介绍的文章就介绍到这了,更多相关Maven使用方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文