Maven——管理Java项目的工具

Maven——管理Java项目的工具

文章目录

  • Maven——管理Java项目的工具
    • 1.认识Maven
    • 2.Maven的相关概念
      • (1).约定的目录结构规范:
      • (2).pom.xml文件详解:
      • (3).坐标(gav):
      • (4).依赖(dependency)
      • (5).仓库
      • (6).Maven生命周期:
      • (7).单元测试(junit):
      • (8).命令:
    • 3.idea中的Maven
      • (1).idea中集成Maven:
      • (2).idea创建Maven的java工程:
      • (3).idea创建Maven的web工程:
      • (4).idea中Maven命令的实现:
    • 4.自定义变量:
    • 5.maven处理文件的默认规则:

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>
		
		
		<packaging>(项目打包类型)packaging>
		
		
		
		
		<scope>(依赖范围)scope>
	dependency>
dependencies>

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

(5).仓库

maven仓库存放内容:

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

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

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

(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
Maven——管理Java项目的工具_第1张图片
进入File->settings->Build,Execution,Deployment->Build Tools->Maven->Runner
Maven——管理Java项目的工具_第2张图片

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


创建模块选中Maven,选择模板:
Maven——管理Java项目的工具_第3张图片
普通java程序的目录结构:
Maven——管理Java项目的工具_第4张图片

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


创建模块选中Maven,选择模板:
Maven——管理Java项目的工具_第5张图片
web工程的目录结构:
Maven——管理Java项目的工具_第6张图片

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

右侧Maven处:
Maven——管理Java项目的工具_第7张图片

4.自定义变量:

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

<junit.version>4.11.RELEASEjunit.version>
<spring.version>5.2.5.RELEASEspring.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/javadirectory>
			<includes>
			
				<include>**/*.propertiesinclude>
				<include>**/*.xmlinclude>
			includes>
			<filtering>falsefiltering>
		resource>
	resources>
build>

你可能感兴趣的:(后台开发,maven,java)