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

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

基本介绍

概念

Maven字面义和准确的发音:web

图片

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

官方介绍:spring

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

Maven的目标

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

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

二、为每一个项目提供统一的配置框架

三、提供优质项目信息webapp

四、最佳开发实践jsp

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

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/download.cgi

最新版本是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:\tool\maven\apache-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:\Users\Administrator\.m2\repository\junit\junit\3.8.1

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

如何修改呢?

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

D:\tool\maven\apache-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命令的使用以及修改本地仓库。

学习不是为了学到已经有的知识,而是为了探索知识的空白领域!愿每一个人都能享受学习~
相关文章
相关标签/搜索