Maven实用教程详解

版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

Maven概述

Maven 翻译为"专家"、“内行”,是 Apache 软件基金会主持纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。其实,除了Java项目以外;Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其它语言编写的项目。

Maven是面向技术层面,针对Java开发的项目管理工具,它提供了构建工具所提供的功能,除了构建功能之外,Maven还可以管理项目结构、管理依赖关系、生成报告、生成Web站点、有助于团队成员之间的协作。

在此教程中,我们重点了解Maven的两大核心功能:项目构建和依赖管理。

在Maven项目的构建过程中大致需要经过以下几个阶段:
在这里插入图片描述

清理clean
删除上一次编译得到的class字节码文件

编译compile
将Java源程序编译为class字节码文件

测试test
运行测试程序

报告report
依据测试生成测试报告

打包package
默认情况下,普通Java工程会被打成jar包;JavaWeb工程默认情况下会打成war包

安装install
将jar包或war包存入本地Maven仓库

部署deploy
将war包部署到服务器运行

Maven将构建环节定义为有标准顺序的生命周期。执行构建命令时,都是从生命周期最开始的位置,一直执行到命令指定位置。比如:执行测试,会先执行清理、编译、再执行测试。

安装Maven

在此,详细介绍Maven的安装过程。

前置条件

因为Maven是Java项目,所以在安装Maven前请务必检查设备的Java环境配置,例如:JAVA_HOME和path等。另外,Maven对jdk版本亦有要求,例如:Maven3.5.4要求jdk不低于1.7。

在这里插入图片描述

下载Maven

请在官方网站 http://maven.apache.org/download.cgi 下载安装包并存放至本地。
在这里插入图片描述

解压apache-maven-3.5.4-bin.zip至本地,图示如下:在这里插入图片描述
打开apache-maven-3.5.4-bin文件夹,图示如下:
在这里插入图片描述

打开apache-maven-3.5.4文件夹,图示如下:
在这里插入图片描述
路径为:D:\developmentKit\apache-maven-3.5.4-bin\apache-maven-3.5.4

配置环境变量

此过程与配置Java环境变量非常类似。请创建系统变量MAVEN_HOME,其值为:D:\developmentKit\apache-maven-3.5.4-bin\apache-maven-3.5.4

图示如下:
在这里插入图片描述

配置完成后,请重新打开cmd窗口,运行mvn -v命令测试Maven是否安装成功,图示如下:
在这里插入图片描述
假若可看见与Maven和JDK相关的信息则表示安装成功;否则,请再次尝试。

配置Maven

当我们采用Maven构建Java项目时就再也不用jar包的方式添加依赖了,而是采用了仓库的方式。Apache团队维护着一个远程仓库(也叫中央仓库),这个仓库里面包含了我们开发中所需的所有jar文件,当我们需要使用相应的jar时只需要去远程仓库中获取即可。当我们获取到jar文件后Maven会将其存放至本地仓库。当下次再使用此jar时就不用舟车劳顿地去遥远的中央仓库获取了,至需从本地仓库获取了。为了进一步提升效率,解决网络卡顿的问题,我们还可以从中央仓库的镜像(私服)获取jar再存放至本地仓库。

在这里插入图片描述

配置本地仓库

在此,详细介绍配置Maven本地参考。

第一步

请在本地创建文件夹作为Maven本地仓库
例如:D:\developmentKit\Repository
在这里插入图片描述
第二步

请打开Maven配置文件,路径如下:D:\developmentKit\apache-maven-3.5.4-bin\apache-maven-3.5.4\conf\settings.xml。

请在settings中配置本地仓库,图示如下:
在这里插入图片描述
代码如下:

<!-- 配置Maven本地仓库 -->
<localRepository>D:\developmentKit\Repository</localRepository>

第三步

保存配置文件。

配置中央仓库镜像

在此,详细介绍配置Maven中央仓库镜像。

第一步

请打开Maven配置文件,路径如下:D:\developmentKit\apache-maven-3.5.4-bin\apache-maven-3.5.4\conf\settings.xml。

默认的远程仓库速度非常慢,故将其注释掉并采用阿里云的镜像,图示如下:
在这里插入图片描述
代码如下:

<!-- 配置中央仓库镜像 -->
<mirror>
   <id>nexus-aliyun</id>
   <mirrorOf>central</mirrorOf>
   <name>Nexus aliyun</name>
   <url>http://maven.aliyun.com/nexus/content/groups/public</url>       
</mirror>

第二步

保存配置文件。

修改Maven默认JDK

Maven工程默认JDK版本是1.5或更低版本,而现在主流的开发版本都高于默认版本。所以,我们需对其进行修改

第一步

请打开Maven配置文件,路径如下:D:\developmentKit\apache-maven-3.5.4-bin\apache-maven-3.5.4\conf\settings.xml。

第二步

请在profiles中通过profile修改Maven默认JDK,图示如下:
在这里插入图片描述
代码如下:

<!-- 修改Maven默认JDK -->
<profile>
	<id>jdk-1.8</id>
	<activation>
	  <activeByDefault>true</activeByDefault>
	  <jdk>1.8</jdk>
	</activation>
	<properties>
	  <maven.compiler.source>1.8</maven.compiler.source>
	  <maven.compiler.target>1.8</maven.compiler.target>
	  <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
	</properties>
</profile>

第二步

保存配置文件。

Eclipse集成Maven

在Eclipse中已经包含Maven插件无需再安装插件,但是需要对Maven进行配置。

配置maven安装目录

在这里插入图片描述

在这里插入图片描述
点击add,选择Maven解压根目录,图示如下:
在这里插入图片描述

在这里插入图片描述

配置Maven的User Settings

在这里插入图片描述

在这里插入图片描述
选择Maven配置文件路径并应用且保存。

对本地仓库创建索引

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

利用Maven创建JavaWeb工程(不使用骨架)

在此详细介绍利用Maven创建JavaWeb工程。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在创建Maven项目时需要填写以下信息:

Group Id:组织ID,一般来讲将公司域名倒置即可
Artifact Id:项目名
Version:版本号
Packaging:打包方式,对于JavaWeb项目其打包方式为war

其中,groupId和artifactId以及version这三者构成了可唯一标识项目在仓库中位置的坐标。

点击Finish后创建项目;但是,项目的配置文件pom.xml报错,图示如下:
在这里插入图片描述
错误原因:

缺少web.xml文件

解决方式:

Maven项目 —> 右键 —> Jave EE Tools —> Generate Deployment Descriptor Stub
在这里插入图片描述
至此,我们利用Maven创建好了JavaWeb工程,项目结构如下:

在这里插入图片描述
看到此处,有些疑惑了:工程中不但有一个Java Resources还有一个src;这两者基本上是一模一样的,这两个有什么区别么? 其实,Java Resources中的内容和src文件夹里代码是一样的,为了方便开发人员更快地阅读Java代码,它以包的形式展现了我们的项目的Java代码。

各文件夹和文件,主要作用如下:

src/main/java

该文件夹用于存放项目的Java源码。

src/main/resources

该文件夹用于存放项目的配置文件(例如:SSM配置文件)。

src/test/java

该文件夹用于存放测试源码。

src/test/resources

该文件夹用于存放测试配置文件。

src/main/webapp

该文件夹用于存放前端代码,相当于之前的WebContent。

target

该文件夹用于存放编译后产生的文件。

pom.xml

该文件为Maven的配置文件。

接下来,我们在webapp下创建index.jsp文件,图示如下:
在这里插入图片描述

报错信息:

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

报错原因:

jsp页面需要servlet的依赖包,但是未找到。

解决方式:

  • 1、按照之前的传统方式添加Tomcat的library,不再赘述
  • 2、在配置文件中pom.xml中添加servlet的依赖,代码如下:
<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>cn.com</groupId>
  <artifactId>Maven01</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

	<dependencies>
	    <!-- 添加Servlet依赖 -->
		<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
</project>

接下来,我们运行Maven的JavaWeb,把项目添加至Tomcat再启动Tomcat即可。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
测试地址:http://localhost:8080/Maven01/index.jsp
在这里插入图片描述

利用Maven创建JavaWeb工程(使用骨架)

在此详细介绍利用Maven创建JavaWeb工程。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

其余步骤和之前高度类似,在此不再赘述。

Maven添加依赖的方式

在此,详细介绍Maven添加依赖的方式

第一步

打开 https://mvnrepository.com/

在这里插入图片描述

第二步

查找依赖

在这里插入图片描述

第三步

查找具体版本
在这里插入图片描述
第四步

复制依赖信息至pom.xml的dependencies节点下
在这里插入图片描述

发布了1027 篇原创文章 · 获赞 2005 · 访问量 242万+

猜你喜欢

转载自blog.csdn.net/lfdfhl/article/details/105068238