Maven-核心概念2

续接上篇未完内容!

POM:

 

含义 project Object Model 项目对象模型 ,我们会联想到DOM(Document Object Model)


意义:pom.xml是Maven工程的核心配置文件,与构建过程相关的一切设置都是在这文件中进行配置。意味着没有pom的话,Maven毫无意义-pom是Maven的核心所在。


坐标: 

  ①数学中坐标:


    在平面上使用X、Y两个向量可以唯一的定位到平面上的任何一点。在空间上可以使用X、Y、Z定位到控件的任何一点。


  ②Maven的坐标:gav

    使用三个向量在仓库中唯一定位一个Maven工程。

       groupId:公司或组织名倒序+项目名


                   <groupId>com.zjc.maven</groupId>

                              artifactId:模块名

          <artifactid>Hello</artfactid>
         version:版本

      <version>1.0.0</version>
  


 ③Maven工程的坐标与仓库中路径的对应关系




      仓库:

     ①分类

       本地仓库当前电脑部署的仓库目录,为当前电脑上的所有Maven工程服务。

     远程仓库:

       1)私服:架设在当前局域网环境下,为当前局域网范围内的所有Maven工程服务。

         2)中央仓库:架设在Internet上,为全世界所有的Maven工程服务。

         3)中央仓库的镜像:架设在各大洲,为中央仓库分担流量。减轻中央仓库的压力,同时更快的相应 用户请求。


      ②仓库中保存的内容

         1)Maven自身需要的插件

  2)第三方框架或工具的jar包(第一方是 jdk ;第二方就是咱们自己了)

3)自己开发 的Maven工程

依赖:

1.范围:scope

Compile


  • 对主程序是否有效:有效
  • 对测试程序是否有效:有效
  • 是否参与打包:参与

Test


  • 对主程序是否有效:无效
  • 对测试程序是否有效:有效
  • 是否参与部署:不参与
  • 是否参与打包:不参与
  • 典型例子:Junit

Provided


对主程序是否有效:有效

对测试程序是否有效:有效

是否参与部署:不参与

是否参与打包:不参与

典型例子:servlet-api.jar


2.传递的依赖性


可以传递的依赖不必再每个模块工程中都重复声明,在最下面的工程声明一次即可

非compile的依赖不能传递,单独工程只能单独引用,因此会出现重复声明


3.排除性:附带过来的排除掉

  1)需要设置依赖排除的场合


 2)在哪个工程?


3.依赖的原则:解决模块工程之间的jar包冲突问题


   1)验证路径最短者优先原则(就近原则:路径最短优先)Maven内置的原则




2)验证路径相同时,先声明者优先(先声明 指的是dependency标签的声明顺序)在pom.xml文件中县声明依赖的顺序




在pom.xml文件中先声明依赖的顺序:





   4.统一版本号

      需求:当需要统一修改升级版本时,手动注意自该不可靠。

    可供参考:

    1 使用Properties标签自定义统一声明版本号。

    2 在需要统一版本的位置,使用${自定义标签号}引用声明的版本号

    3 其实properties标签页可以定义其他的数据,凡是需要统一声明统一修改的内容都可以使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值