1.介绍

Maven中文是专家的意思。百度是这样介绍的:

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。

2.优势

    1)Convention over configuration(约定优于配置)

    2)简单

    3)测试支持

    4)构建简单

    5)CI(持续集成,不理解可以百度)

    6)插件丰富

3.下载安装配置

    可以参考:https://blog.csdn.net/rensheng_ruxi/article/details/106451803

    1)认识Maven目录文件

        bin:命令

        boot:classloder 类加载器框架

        conf:设置(settings.xml 全局配置文件)

        lib:用到的jar(超级pom:model-builder.jar)

    2)认识settings.xml文件内容(各项配置均有示例,可参考示例配置自己的settings.xml)

        localRepository:本地仓库(配置后,Maven根据配置路径存放依赖jar包)

        mirrors:国内Maven库(配置国内镜像库,会比中央仓库下载速度快一些)

        pluginGroups:插件(配置后,将插件放入Maven中管理)

        proxies:代理

        server:私服登录信息

        profiles:配置环境(测试,正式,通过命令**来运行不同的环境)

    3)配置用户settings.xml

了解Maven:理论(总)

4.新建Maven项目

    可以参考:https://blog.csdn.net/rensheng_ruxi/article/details/106557959

    项目结构也是约定优于配置

    1)认识pom.xml

        modelVersion:来源于超级pom

        groupId:公司域名

        artifactId:功能命名

        version:版本号

        packaging:打包方式(jar,war,maven-plugin,maven-archetype等)

        properties:项目参数(一般出现在父pom)

        dependencyManagement:约定只能出现在父pom中(作用:统一版本号,做版本控制;声明,例如统一配置jdbc)

        dependency:依赖

            (1)type:默认jar

            (2)scope:什么时候用?会不会打到包里?作用优化项目

                   compile:编译 例如:spring-core

                   test:测试

                   provided:编译,不会打包 例如:servlet

                   runtime:运行时,运行时有效,编译不用,会打包,例如:JDBC驱动实现

                   system:本地jar,例如:短信jar

                   具体的会不会打包,可以自己试试,或参看下面的生命周期介绍

            (3)exclusions:排除包

5.依赖传递(了解)

    第一列表示直接依赖的scope,第一行表示间接依赖的scope,查看依赖树:mvn dependency:tree >a.txt

了解Maven:理论(总)

6.依赖仲裁

    1)最短路径法

    2)加载先后原则

7.生命周期  lifecycle/phase/goal(重要)

    1)A Build Lifecycle is Made Up of Phases

    2)A Build Phase is Made Up of Plugin Goals

        注意:插件没有生命周期,插件的运行主要看将插件挂载在哪里

了解Maven:理论(总)

8.版本管理(沟通好)

    1.0-SNAPSHOT:不稳定版本,不可发布

    1.0-RELAESE:稳定版本,发布版本

    发布时,更新版本:删除本地仓库的jar或mvn clean package -U(强制拉一次)、

    版本结构:主版本号.次版本号.增量版本号-<里程碑版本>

9.常用命令

    mvn compile:编译

    mvn clean:删除target

    mvn test:运行test case junit/testNG

    mvn package:打包(根据packaging)

    mvn install:将包安装到本地

    mvn deploy:将本地jar发布到remote

10.常用插件

    地址1:https://maven.apache.org/plugins/

    地址2:http://www.mojohaus.org/plugins.html

    1)fingbugs:静态代码检查(运行:mvn fingbugs:findbugs)

    2)versions:统一升级版本(mvn versions:set -DnewVersion=1.1)

    3)sources:打包源代码

    4)assembly:打包zip,jar,war

    5)tomcat

待续......

 

相关文章:

  • 2021-12-15
  • 2021-08-04
  • 2021-11-26
  • 2022-12-23
  • 2022-01-23
  • 2021-04-13
  • 2021-11-28
  • 2022-12-23
猜你喜欢
  • 2021-10-08
  • 2021-10-06
  • 2021-05-28
  • 2021-11-29
  • 2021-10-22
  • 2021-08-19
相关资源
相似解决方案