写点什么

教小师妹快速入门 Maven,嘿嘿嘿...

用户头像
田维常
关注
发布于: 2021 年 01 月 08 日

关注“Java 后端技术全栈”


回复“面试”获取全套面试资料


最近,小师妹给我发消息,说她在某个项目中看到了 Maven,感觉还挺小巧精致的,很有兴趣深入学习一下,问我有没有什么快速入门的教程~刚好自己也在整理 Maven 相关的材料,那就拿出来一起交流一下吧。今天主要聊聊 Maven 的快速入门,很多人可能会觉得很简单,但相信您认真看完的话还是会有新滴收获的。


基本介绍


概念


Maven 字面义和准确的发音:


图片


Maven 是 Apache 下面的一个 java 开发的开源项目,官网地址:https://maven.apache.org/


官方介绍:


大致意思是:Maven 是一个意第绪(Yiddish),意思是知识的积累者,最初是为了简化 Jakarta Turbine 项目的构建过程。有几个项目,每个项目都有自己的 Ant 构建文件,它们都略有不同。而 JAR 文件都由 CVS 来维护 。我们需要一种标准的方法来构建项目,一个项目组成的清晰定义,一种发布项目信息的简单方法,以及一种跨多个项目共享 jar 的方法。


Maven 的目标


Maven 的主要目标是为了使开发人员在最短的时间内领会项目的所有状态。为了达到这一目标,Maven 考虑一下五个方面的内容:


1、使得构建过程更加容易,方便编译、打包、发布


2、为每个项目提供统一的配置


3、提供优质项目信息


4、最佳开发实践


5、安装和更新第三插件透明化


Maven 项目的结构和内容是在一个 XML 文件中声明,pom.xml 的项目对象模型(POM),这是整个 Maven 系统的基本单元。


Maven 的优点


  • Maven 中使用约定,约定 java 源代码代码必须放在哪个目录下,编译好的 java 代码又必须放到哪个目录下,这些目录都有明确的约定。

  • Maven 的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

  • 只需要定义一个 pom.xml,然后把源码放到默认的目录,Maven 帮我们处理其他事情

  • 使用 Maven 可以进行项目高度自动化构建,依赖管理(这是使用 Maven 最大的好处),仓库管理。


面试问:Maven 是什么


Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于 Java 平台的项目构建,依赖管理和项目信息管理。


项目构建过程


项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。


理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用 maven 就可以帮我们完成上述所说的项目构建过程。


安装与配置


从官网下载:


http://maven.apache.org/downl...


最新版本是 3.6.3。


图片


Maven3.3+版本必须是是 JDK1.7 或者更高的版本。


图片


解压后(解压后的目录中最好「不要出现中文目录」):


图片


目录说明


  • bin:含有 mvn 运行的脚本

  • boot:含有 plexus-classworlds 类加载器框架

  • conf:含有 settings.xml 配置文件

  • lib:含有 Maven 运行时所需要的 java 类库

  • LICENSE.txt, NOTICE.txt, README.txt 针对 Maven 版本,第三方软件等简要介绍


安装


首先要确保电脑上已经安装了 JDK(要 jdk 1.7 或更高的版本),配置好 JDK 的环境变量,使用如下的两个命令检查检查 JDK 安装的情况。


图片


配置


JDK 已经安装好了,maven 也已经解压了到我们制定的目录下,比如说:我的解压目录为:


D:toolmavenapache-maven-3.6.3
复制代码


接下来就是配置环境变量(和安装 JDK 有点像,但是配置 Maven 简单点)。


第一步:设置环境变量:MAVEN_HOME。


确定后:


图片


第二步:设置环境变量 Path,将;%MAVEN_HOME%bin加入 Path 中,一定要注意要用分号;与其他值隔开,如下图所示:


图片


第三步:验证和配置是否成功,打开 cmd 窗口。有的电脑系统版本中看不到 cmd 窗口,需要在搜索里搜索 cmd。有的就是有个“运行”。


图片


或者


输入"mvn –v"命令 查看 Maven 的相关信息,如下图所示:


输出是上面的这个样子,证明我们的 Maven 安装和相关配置都已经成功了。下面我们就来玩一把 Maven。


案例


Maven 项目约定结构


大概的目录如下:


图片


约定配置说明:


目录


目的


${basedir}


存放 pom.xml 和所有的子目录


${basedir}/src/main/java


项目的 java 源代码


${basedir}/src/main/resources


项目的资源,比如说 property 文件,springmvc.xml


${basedir}/src/test/java


项目的测试类,比如说 Junit 代码


${basedir}/src/test/resources


测试用的资源


${basedir}/src/main/webapp/WEB-INF


web 应用文件目录,web 项目的信息,比如存放 web.xml、本地图片、jsp 视图页面


${basedir}/target


打包输出目录


${basedir}/target/classes


编译输出目录


${basedir}/target/test-classes


测试编译输出目录


Test.java


Maven 只会自动运行符合该命名规则的测试类


~/.m2/repository


Maven 默认的本地仓库目录位置


接下来我们就来搞一个案例。


案例


在自己的本地创建一个目录(一般都是 workspace)。然后创建一个 maven-demo 的案例。新建 maven-demo 文件夹:


图片


在 maven-demo 文件夹里创建 pom.xml。并填写内容:


<?xml version="1.0" encoding="UTF-8"?><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>com.tian</groupId>    <artifactId>maven-demo</artifactId>    <version>1.0-SNAPSHOT</version></project>
复制代码


继续创建文件夹 src(存放源码的文件夹)。


进入 src 目录中,继续创建 main 文件夹。


图片


再到 main 文件夹里创建一个 java 文件夹。


图片


在 java 文件夹下创建一个HelloWorld.java


public class HelloWorld{ public static void main(String [] args){  System.out.println("老田 你好"); }}
复制代码


图片


回到 maven-demo 的目录下,按住 Shift 键,鼠标右键,选择打开命令窗口。


图片


使用'「mvn compile」'命令:


编译完成后,会在当前目录下增加了一个 target 目录。


打开 target 文件夹,可以看到里面有一个 classes 文件夹,如下图所示:


classes 文件夹存放的就是编译成功后生成的.class 文件,如下图所示:


图片


使用‘「mvn clean」’命令:


图片


发现有一行日志:


图片


我们使用 mvn clean 命令的时候,会把 target 文件夹删掉。


图片


修改仓库


在前面的约定配置中有一项:


~/.m2/repository
复制代码


Maven 默认的本地仓库位置。


repository 中存放了相关的 jar 包。因为代码运行时通常需要依赖其他的 jar 里的东西,所以这个 jar 也得需要管理。关于仓库后面有文章专门讲解。


图片


比如说:


全目录为:


C:UsersAdministrator.m2repositoryjunitjunit3.8.1
复制代码


发现在 C 盘,这里强烈的建议,把这个仓库放在自己指定的目录,比如说:E:/repository 下面。


如何修改呢?


找到我们前面安装 maven 目录下:


D:toolmavenapache-maven-3.6.3
复制代码


在 conf 目录下的 server.xml:


图片


打开 server.xml 文件:


图片


我们添加一项


<localRepository>E:/repository</localRepository>
复制代码


修改完后,保存。


图片


后面只要我们再次执行"mvn compile"和"mvn clean"这两个命令时,Maven 会去中央仓库下载需要的 jar 包,而第二次执行这两个命令时,由于所需的 jar 包已经在本地的仓库E:/repository中存储,所以就可以直接拿来用了,这样就省去了去中央仓库下载 jar 包的时间。


图片


setting.xml 主要用于配置 maven 的运行环境等一系列通用的属性,是全局级别的配置文件;


以上便是今天分享的 Maven 入门课程。


总结


本文讲述了什么是 Maven、Maven 的优点、安装配置、简单使用案例、mvn compile 命令和 mvn clean 命令的使用以及修改本地仓库。


学习不是为了学到已经有的知识,而是为了探索知识的空白领域!愿每个人都能享受学习~


推荐阅读


怒肝一夜 | Mybatis源码深度解析


Redis热点:如何发现Key问题?附5种解决方案


《七周七并发模型》.pdf


发布于: 2021 年 01 月 08 日阅读数: 21
用户头像

田维常

关注

关注公众号:Java后端技术全栈,领500G资料 2020.10.24 加入

关注公众号:Java后端技术全栈,领500G资料

评论

发布
暂无评论
教小师妹快速入门Maven,嘿嘿嘿...