Java学习日记之Maven

Posted bird7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习日记之Maven相关的知识,希望对你有一定的参考价值。

Maven

  一、概念

    Maven是一个项目管理工具,它包含了一个项目对象模型(POM: Project Object Model),一组标准集合,一个项目周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标的逻辑

  二、下载安装

    1. 官网:https://maven.apache.org

    2. 将下载好的 apache-maven-3.5.2-bin.zip 解压到一个没有中文没有空格的路径中

    3. 配置环境变量

      * 变量名:MAVEN_HOME

      * 变量值:解压路径

      * Path:%MAVEN_HOME%\\bin

 

    4. 检测安装是否成功

      * 进入命令行程序中直接输入 mvn -v

      * 若出现以下字符,则表示安装成功

                   

  三、maven介绍

    1. maven仓库

      * 仓库:存放jar包的地方

      * maven仓库分为三类:

        本地仓库:存放在系统盘中jar包的仓库(可以在settings.xml中的 <localRepository>/path/to/local/repo</localRepository> 设置本地仓库路径)

        远程仓库(私服):存放一些公司所需要用的jar包,相当于公司中小型中央仓库。与本地仓库在同一局域网时,可以上传到本地仓库,也可以从中央仓库中下载

        中央仓库:存放了几乎所有开源的jar包

      *maven工程通过jar包的坐标先去本地仓库中寻找对应的jar包,如果本地仓库中没有,则在连接网络的情况下它会到中央仓库中下载(有远程仓库的顺序:本地仓库-->远程仓库-->中央仓库),否则会报错

 

    2. maven项目标准目录结构

       src/main/java目录  核心代码部分

       src/main/resources  配置文件部分

       src/test/java目录    测试代码部分

       src/test/resources  核心配置文件部分

       src/main/webapp  页面资源、js、css、图片资源

 

    3. maven常用命令

       * mnv clean:删除掉项目中的target目录

       * mnv compile:编译src下的main下面的代码,并在项目中创建target目录,存在里面

       * mnv test:编译src下的test和main下面的代码,并在项目中创建target目录,存在里面

       * mnv package:编译src下的test和main下面的代码,将项目打包(默认打包格式为war,可以在pom.xml中的<packaging></packaging>修改打包格式),并在项目中创建target目录,存在里面

       * mnv install:编译src下的test和main下面的代码,将项目打包并在项目中创建target目录,存在里面,同时还将项目添加到本地仓库中

    

    4. maven生命周期

      * 清理生命周期

        * clean  清理项目编译信息

      * 默认生命周期(主要)

        * compile  编译

        * test  测试

        * package  打包

        * install  安装

 

        * deploy  发布

 

        (每一个构建项目的命令都对应了maven底层的一个插件)

 

      * 站点生命周期

 

    2. maven的模型

      * 项目对象模型

        * pom.xml

      * 依赖管理模型

    <dependency>
        <groupId></groupId><!--公司组织的名称-->
        <artifactId></artifactId><!--项目的名称-->
        <version></version><!--版本号-->
    </dependency>

 

更新于2020/5/11

 


 

 

      

 

以上是关于Java学习日记之Maven的主要内容,如果未能解决你的问题,请参考以下文章

java学习日记第三天之简单算法问题

2019-06-12 Java学习日记之JDBC

Spring日记_01 之 Maven搭建

2019-06-14 Java学习日记之SQL

Python学习日记之练习代码

2019-06-06 Java学习日记之HTML