• maven入门-- part1 简介


    Maven是什么

      maven是基于项目对象模型(pom:project object model),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具。对依赖关系的特性进行细致的分析和划分,避免开发过程中的依赖混乱和相互污染的行为。

    Maven生命周期

      maven把项目的构建划分为不同的生命周期,粗略来看包括:编译,测试,打包,集成测试,验证,部署。maven中的所有执行动作(goal)都需要指明自己在这个过程中的执行位置,然后maven执行的时候,就按照过程的发展依次调用这些goal进行各种处理,maven同样提供了配置文件,可以跳过某些阶段。

    Maven的工程结构

    pom.xml(maven核心配置文件)

    src

    main

      java(java源代码目录)

        resources(资源文件目录)

    test

      java(单元测试代码目录)

    target(输出目录,所有的输出都在这个目录下)

      classes(编译后的class文件存放处)

    Maven的版本规范

    groudId:团体,组织的标识符,一般以逆向域名开头

    artifactId:单独项目的唯一标识符,不要再里面包含(.)

    version:一个项目的特定版本,groupId,artifactId,version唯一标识一个maven项目

    SNAPSHOT:开发过程中不稳定的版本

    LATEST:指某个特定构建的最新发布,可能是发布版,也可能是snapshot,看哪个时间最晚

    RELEASE:最后一个发布版

    Maven一些其他的元素

    (1)packaging:项目打包后输出的类型,类型为war的项目产生一个web应用

    (2)dependencies和dependency:Maven的一个重要作用就是统一管理jar包,为了一个项目可以build或运行,项目中不可避免的,会依赖很多其他的jar包,在Maven中,这些依赖就被称为dependency。

      说道这里必须说下:本地仓库和远程仓库和私服;本地仓库配置到"%MAVEN_HOME%confsettings.xml"中找localRepository。默认是~/.m2/repository;私服配置:一般都在自己的~/.m2/settings.xml中配置;远程仓库:一般是maven的核心仓库,maven安装的时候有默认的路径:http://repo.maven.apache.org/maven2

      Maven工程首先会从本地仓库中获取jar包,当无法获取到jar包时,本地仓库将从私服中下载jar包,如果私服中也没有的话,将从远程仓库获取,并缓存至私服,并放到本地仓库中以备用。

    如:

    <dependencies>
    
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>3.0-alpha-1</version>
                <scope>provided</scope>
            </dependency>
    </dependencies>

      groupId,artifactId,version唯一标识一个maven项目,有了这三个元素,Maven会先去本地仓库找对应的jar包,没有找到再去私服找,没有找到再去远程仓库中下载jar包到本地仓库中。

    (3)properties

      用来定义配置属性,比如构建源码编码方式,构建版本号。

    (4)build:表示与构建相关的配置,代码checkStyle就是在这里配的

  • 相关阅读:
    Springboot自动装配原理总结
    SSM框架整合以及使用思路梳理
    Springboot05SpringSecurity
    Springboot04yaml配置注入
    SSM中常用知识点总结回顾
    Vue04Vuecli创建webpack模板项目结构分析
    Springboot03MVC自动配置原理(附加扩展使用SpringMVC)
    Springboot01版本控制器
    Latex提示找不到Consolas字体怎么办?如何在macOS中安装Consolas字体?
    关于dataGridView的完全自定义排序
  • 原文地址:https://www.cnblogs.com/jijiji/p/6939542.html
Copyright © 2020-2023  润新知