欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

程序员文章站 2022-07-12 22:31:28
...

一、Maven简介:

1、什么是Maven:

Maven 是专门用于构建和管理Java相关项目的工具。

2、maven的两大核心是:

(1)依赖管理:就是对jar的统一管理过程;

(2)项目构建:项目编码完成后,对项目进行编译、测试、打包、部署一系列的操作都通过命令来实现。

3、Maven的好处:

(1)不再拷贝jar包。项目不需要存放jar包,导致项目源代码小。

(2)使用maven开发的工程,如果环境统一,导入别的maven的项目不会报错。

(3)代码耦合度进一步降低。

(4)方便项目进行升级。

(5)节省人力成本。

 

二、Maven的安装:

Maven程序安装的前提:maven是基于java环境开发,它的运行依赖jdk。

1、下载apache-maven-3.5.0-bin.zip,解压到本地磁盘(解压目录最好不要有中文和空格)

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

2、配置环境变量:

(1)jdk的环境变量必须是:JAVA_HOME

(2)配置maven的环境变量:MAVEN_HOME

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

(3)将MAVEN_HOME环境变量配置到path环境变量中:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

3、测试是否安装成功:查询maven版本信息:

出现以下信息则表示安装成功:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

4、配置本地仓库:

(1)仓库类型:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

(2)创建本地仓库(就是创建一个目录):

(3)配置本地仓库:让maven程序知道仓库在哪里:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

 

三、Maven整合web项目(基于Eclipse):

1、配置m2e插件,现在的版本基本已经自带了,不需配置;

2、配置maven程序:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

3、配置user settings:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

4、构建索引:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

5、创建maven的web工程:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

6、创建好的项目有两个错误:

(1)web.xml文件缺失:

解决方法:

第一种:在指定目录位置手动创建;

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

第二种:通过工具生成web.xml文件

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

(2)jdk编译的版本是1.5,在pom.xml中添加插件:

解决方法:

第一种:

<build>
	<plugins>
		<!-- 设置编译版本为1.7 -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<configuration>
				<source>1.7</source>
				<target>1.7</target>
				<encoding>UTF-8</encoding>
			</configuration>
		</plugin>
	</plugins>
</build>

第二种:通过插件生成配置信息:

在pom.xml文件中,单击右键:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

7、创建servlet:

编译报错,原因:确实servlet-api-xx.jar包:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

解决:在pom.xml文件中添加依赖:

<dependency>
   	<groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
   	<version>2.5</version>
        <scope>provided</scope>
</dependency>

8、运行:输入命令:tomcat7:run

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

9、debug方式调试项目:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

 

四、Maven的基础知识:

1、maven项目标准的目录结构:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

对项目进行细分:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

 

2、maven的常用命令:

(1)clean:清理:将项目根目录下的targer目录清理掉

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

(2)compile:编译:将项目中的.java文件编译为.class文件

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

(3)test:单元测试:将项目根目录下src/test/java目录下的单元测试类都会执行,单元测试类名有要求:XxxTest.java

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

(4)package:打包:将项目打包,打包到项目根目录下target目录:

web project ---war包

java project ---jar包

(5)install:安装:打包到本地仓库,解决本地仓库多个项目公用一个jar包

(6)maven项目的生命周期:

在maven中存在“三套”生命周期,每一套生命周期相互独立,互不影响。在一套生命周期内,执行后面的命令,前面的操作会自动执行。

①CleanLifeCycle:清理生命周期:clean

②defaultLifeCycle:默认生命周期:compile、test、package、install、deploy

③siteLifeCycle:站点生命周期:site

 

3、依赖范围:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

添加依赖:默认依赖范围是compile

provided:运行时部署到tomcat后不再需要

如果将servlet-api.jar设置为compile,打包后项目包含servlet-api.jar,war包部署到tomcat跟tomcat中存在的servlet-api.jar包冲突,导致运行失败:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

解决:修改依赖的范围:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

 

4、依赖管理:

(1)传递依赖:A依赖B,B依赖C,B是A的直接依赖,C是A的传递依赖。

遵循原则:

--第一声明者优先原则:谁先定义的就用谁的传递依赖

--路径近者优先原则:直接依赖级别高于传递依赖

(2)排除依赖:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

(3)版本锁定:(重点)

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理

 

5、依赖传递的范围:

Maven:maven简介、安装与整合web项目、maven常用命令、依赖管理