当前位置 博文首页 > yuanting_的博客:Windows安装Maven+idea配置Maven环境

    yuanting_的博客:Windows安装Maven+idea配置Maven环境

    作者:[db:作者] 时间:2021-08-25 10:07

    Maven是什么?

    maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。

    什么是项目构建?

    项目构建是一个项目从编写源代码到编译、测试、运行、打包、部署、运行的过程。

    什么是依赖管理?

    maven将项目构建的过程进行标准化,每个阶段使用一个命令完成。

    Maven的优点

    1. 一个命令完成构建、运行,方便快捷。
    2. maven对每个构建阶段进行规范,非常有利于大型团队协作开发。

    下载Maven : https://maven.apache.org/download.cgi

    在这里插入图片描述

    解压apache-maven-3.6.1.bin.zip文件夹

    在这里插入图片描述

    配置Maven的环境变量

    1.新建一个系统变量 MAVEN_HOME
    2.变量值 是Maven的安装路径
    在这里插入图片描述

    在PATH变量中引用这个MAVEN_HOME

    在这里插入图片描述

    CMD命令窗口查看是否安装成功(输入 mvn -v)

    在这里插入图片描述

    Maven仓库

    maven的工作需要从仓库下载一些jar包,如下图所示,本地的项目A、项目B等都会通过maven软件从远程仓库(可以理解为互联网上的仓库)下载jar包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此jar包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。

    1. 本地仓库 :用来存储从远程仓库或中央仓库下载的插件和jar包,项目使用一些插件或jar包,优先从本地仓库查找默认本地仓库位置在 u s e r . d i r / . m 2 / r e p o s i t o r y , {user.dir}/.m2/repository, user.dir/.m2/repository{user.dir}表示windows用户目录。
    2. 远程仓库:如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。
    3. 中央仓库 :在maven软件中内置一个远程仓库地址http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由Maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。

    Maven项目工程目录约定 重要

    src/main/java —— 存放项目的.java文件

    src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件

    src/test/java —— 存放所有单元测试.java文件,如JUnit测试类

    src/test/resources —— 测试资源文件

    target —— 项目输出位置,编译后的class文件会输出到此目录

    pom.xml——maven项目核心配置文件

    Project

    |-src

    | |-main

    | | |-java —— 存放项目的.java文件

    | | |-resources —— 存放项目资源文件,如spring, hibernate配置文件

         |-webapp     —— webapp目录是web工程的主目录
    
            |-WEB-INF
    
              |-web.xml
    

    | |-test

    | |-java ——存放所有测试.java文件,如JUnit测试类

    | |-resources —— 测试资源文件

    |-target —— 目标文件输出位置例如.class、.jar、.war文件

    |-pom.xml ——maven项目核心配置文件

    pom.xml 文件

    一个maven工程都有一个pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标等。

    1. 依赖管理系统(Dependency Management System)

    通过maven的依赖管理对项目所依赖的jar 包进行统一管理。
    比如:项目依赖junit4.9,通过在pom.xml中定义junit4.9的依赖即使用junit4.9,如下所示是junit4.9的依赖定义:

       <dependencies>
    
              <!-- 此项目运行使用junit,所以此项目依赖junit -->
    
              <dependency>
    
                     <!-- junit的项目名称 -->
    
                     <groupId>junit</groupId>
    
                     <!-- junit的模块名称 -->
    
                     <artifactId>junit</artifactId>
    
                     <!-- junit版本 -->
    
                     <version>4.9</version>
    
                     <!-- 依赖范围:单元测试时使用junit -->
    
                     <scope>test</scope>
    
              </dependency>
    
    1. 一个项目生命周期(Project Lifecycle)
      使用maven完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven将这些过程规范为一个生命周期,如下所示是生命周期的各各阶段:
      清理–>编译–>测试–>报告–>打包–>部署

    定义maven坐标

    每个maven工程都需要定义本工程的坐标,坐标是maven对jar包的身份定义,比如:入门程序的坐标定义如下:

    <–项目名称,定义为组织名+项目名,类似包名–>

    org.westos

    <-- 模块名称 -->

    maven-first

    <-- 当前项目版本号,snapshot为快照版本即非正式版本,release为正式发布版本 -->

    < version>0.0.1-SNAPSHOT< /version>

    < packaging > :打包类型

    1. jar:执行package会打成jar包
    2. war:执行package会打成war包
    3. pom :用于maven工程的继承,通常父工程设置为pom

    下面重点使用IDEA来开发Maven项目

    cs
    下一篇:没有了