Maven——管理Java项目的工具

Maven——管理Java项目的工具

1.认识Maven

软件开发过程中的过程:

Ⅰ.需求分析;
Ⅱ.设计阶段;
Ⅲ.开发阶段;
Ⅳ.测试阶段;
Ⅴ.项目打包与发布。

Maven定义:
Maven是一款自动化构建化工具,由Apache开源基金会所属,使用java语言开发。

Maven作用:
①.Maven可进行【项目的自动构建】,帮助开发人员编译,测试等等。
②.Maven可用于【管理依赖】(jar包)。

Maven的获取与安装:
①.检查确认JAVA_HOME环境变量的配置;
②.解压apache-maven-版本号.zip;
③.将Maven/bin目录放入path中(或者放入MAVEN_HOME);
④.测试,使用DOS命令执行mvn -v命令。

2.Maven的相关概念

(1).约定的目录结构规范:

Maven项目文件夹:

/src/main/java          [java程序源代码]
         /resources     [程序所需配置文件]
    /test/java          [java程序测试代码]
         /resources     [java测试所需配置文件]
/pom.xml                [核心配置文件!!!]

(2).pom.xml文件详解:

作用:
通过pom文件进行【项目构建】和【依赖管理】;

(3).坐标(gav):

坐标的组成:

Ⅰ.groupId:组织名称,代码,一般情况下为【公司域名的倒写】,比如www.baidu.com---->(groupId)com.baidu
Ⅱ.artifactId:项目名称(唯一的)
Ⅲ.version:项目的版本号。

坐标的特点:
坐标是资源的唯一标识,在Maven中,每个资源都有坐标。
用于管理依赖,使用外界的jar包也需要使用gav。

坐标搜索的地址:
登录https://mvnrepository.com/可查询到很多项目的坐标。

(4).依赖(dependency)

依赖的使用:
①使用dependency与gav一起完成依赖的使用;
②在pom中用dependency和gav一起完成依赖的说明。

在pom.xml中的语法格式:

<dependencies>
	<dependency>
		<!--必要-->
		<groupId>(组织名称)</groupId>
		<artifactId>(项目名称)</artifactId>
		<version>(版本号)</version>
		<!--非必要-->
		<!--规定项目的打包类型,比如jar,war等等-->
		<packaging>(项目打包类型)</packaging>
		<!--规定依赖的范围-->
		<!--compile:默认,参与构建项目的任意阶段-->
		<!--test:则测试阶段使用,比如执行mvn test时使用了junit-->
		<!--provided:提供者,服务器提供某个依赖的包,比如servlet,jsp-->
		<scope>(依赖范围)</scope>
	</dependency>
</dependencies>

Maven使用gav作为标识,进入互联网查找资源jar包并下载到本机。

(5).仓库

maven仓库存放内容:

①.maven工具自己的jar包;
②.第三方其他的jar包,例如mysql的驱动;
③.自己写的程序被打包存入。

本地仓库的路径:
默认:
(登录用户)/.m2/repository
自定义方法:

Ⅰ.进入(maven安装目录)/conf/settings.xml目录;
Ⅱ.修改setting.xml文件中
<localRepository>(新的仓库路径)</localRepository>
Ⅲ.将仓库资源拷贝到本地仓库中。

(6).Maven生命周期:

清理->编译->测试->报告->打包->安装->部署

(7).单元测试(junit):

概念:
junit是指单元测试工具;
单元概念:
java中单元指方法,方法是测试的最小单位;
作用:
junit测试方法是否达成业务需求,属于自测范畴;
使用:
<1>加入junit依赖;
<2>在src/test/java/下创建类,写测试类代码。
测试类代码规范:

①测试类名:Test+(要测试的类名)
②.测试类包要和测试类名字一致;
③.测试方法:public void 【Test+测试方法名】(无参数){...}
④.测试类中的方法可单独执行;
⑤.在方法域中加入测试注解:@Test

(8).命令:


mvn clean:清理,删除以前生成的数据(target目录);


mvn compile:编译,将【src/main/java】目录中java代码编译为class文件,同时将class文件拷贝到【target/classes】目录中;


mvn test-compile:编译,将【src/test/java】目录中的源文件编译,生成class文件拷贝到【target/test-classes】目录中;同时将【src/test/resources】目录文件拷贝到【target/test-classes】。


mvn test:测试,执行【target/classes】中的文件,测试【src/main/java】目录下主程序代码是否符合要求。


mvn package:将class文件和配置文件打包成jar/war包。


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


mvn clean package:清理已有的插件。


3.idea中的Maven

(1).idea中集成Maven:


进入File->settings->Build,Execution,Deployment->Build Tools->Maven
在这里插入图片描述
进入File->settings->Build,Execution,Deployment->Build Tools->Maven->Runner
在这里插入图片描述

(2).idea创建Maven的java工程:


创建模块选中Maven,选择模板:
在这里插入图片描述
普通java程序的目录结构:
在这里插入图片描述

(3).idea创建Maven的web工程:


创建模块选中Maven,选择模板:
在这里插入图片描述
web工程的目录结构:
在这里插入图片描述

(4).idea中Maven命令的实现:

右侧Maven处:
在这里插入图片描述

4.自定义变量:

在properties标签中,定义一个变量,指定版本的值:
比如:

<junit.version>4.11.RELEASE</junit.version>
<spring.version>5.2.5.RELEASE</spring.version>

在依赖中使用时:

<version>${junit.version}</version>
<version>${spring.version}</version>

5.maven处理文件的默认规则:

①.maven将【src/main/resources】目录中文件拷贝到【target/classes】目录下;
②.maven仅处理【src/main/java】目录中的.java文件,编译为class文件后拷贝到【target/classes】目录下;
资源插件可改变maven的默认处理文件规则:

<build>
	<!--资源插件-->
	<resources>
		<resource>
			<directory>src/main/java</directory>
			<includes>
			<!--使上述目录中的properties和xml文件均会被拷贝至【target/classes】-->
				<include>**/*.properties</include>
				<include>**/*.xml</include>
			</includes>
			<filtering>false</filtering>
		</resource>
	</resources>
</build>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值