• 取代Ant——Maven简介


    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6625724.html 

        一:目前开发存在的问题

        在没有Maven之前,我们开发一个项目,需要自行导入各种不同的jar包。当依赖包数量多起来,就很难管理了。而且,如果团队开发时,一个人提交的项目所使用的IDE版本与另一个人的不一致,那么所提及的项目就可能不能正常地在别人的IDE中编译、运行。总的来说,大概有以下几类问题:

        1:jar包太多,需要手动下载、导入,比较麻烦;

        2:jar包有依赖冲突时,需要自行排查;

        3:使用ant脚本构建项目时,需要写很多重复的任务;

        4:项目拷贝给别人时,不仅源代码,还需要拷贝大量jar包;

        5:测试项目时,需要一个个运行测试;

        二:Maven能干什么

        Maven现在越来越流行,已经逐步取代Ant。它比Ant单一的批处理功能提供更多实用服务。

        1:依赖管理:通过一个xml文件,同一管理项目中所以jar包。开发项目时,需要用到的jar包只需在配置文件中配置好几个相关信息,Maven就会自动下载、导入到项目中,并且如果该jar包有依赖包,也会自动一并下载、导入。如果项目有jar包依赖冲突,只需通过Maven的 mvn -X compile dependency:tree -Dverbose 指令即可自动排查出冲突的jar包信息。

        2:项目构建:这一步类似Ant,可以通过Maven的配置脚本批处理项目的编译、测试、打包、部署、发布等操作;

        3:信息管理:管理项目的相关信息,比如版本信息、开发者信息等。

        三:Maven依赖管理简介

        1:在pom.xml中进行同一配置,管理;

        2:对每个jar包,通过:groupId、artifactId、version 三个信息唯一确定一个jar包;

        3:jar包的来源:在配置好jar包信息后,Maven是如何高效率地找到所需jar包并下载导入的?主要有三个来源。

            1)本地资源库:Maven安装后会在本机创建一个reposity文件夹,执行pom.xml时会把jar包下载到这里来,如果已经有的,就不会再下载。相当于一个本地缓存。

            2)共享资源库:即中央资源库,Maven有一个中央仓库存放来自全世界的共享jar包,通过配置的 groupId、artifactId、version 即可在中央仓库中唯一定位jar包,然后下载到本地资源库中。

            3)私人资源库:也叫中转资源库。对于一个公司而言,有可以有自己开发的jar包,并且不想公开出去;还有,公司可以提供一个jar包中转站,把网上常用的jar包先下载到一个仓库中,公司程序员在本地资源库找不到所需jar包时可以先到公司的资源库寻找、下载,这样就无需到网上下载了。这个资源库就是私人资源库。

        4:jar包的寻找过程:执行pom.xml—>本地资源库寻找—>私人资源库寻找—>中央资源库寻找

        5:Maven资源库配置:进入maven安装目录/conf/ ,编辑 settting.xml:

        本地仓库:<localRepository>:表示本地库的保存位置,也就是maven2主要的jar保存位置,默认在${user.dir}/.m2/repository,如果需要另外设置,就换成其他的路径。

        共享仓库:Mirrors 表示镜像库,指定库的镜像,用于增加其他库(私库、远程库)

        

        关于Maven的具体使用,会在后面详细记录。

  • 相关阅读:
    error_reporting(“E_ALL”)和ini_set(“display_errors”, “on”)的区别?
    linux命令awk的详解
    Ubuntu 能PING IP但不能PING主机域名的解决方法
    从github checkout子文件夹
    zuul简单使用
    docker for windows 10 添加阿里云镜像仓库无效问题
    Spring Boot 进行Bean Validate和Method Validate
    JVM调优-GC参数
    Spring Aop: 关于继承和execution target this @annotation
    ReentrantLock原理
  • 原文地址:https://www.cnblogs.com/ygj0930/p/6625724.html
Copyright © 2020-2023  润新知