Maven简介

本文为Maven学习笔记。

Maven概述

讲到项目的搭建,也许使用的是通过开发工具新建项目,然后将项目所要依赖的第三方jar包复制到项目的类路径下(通常为lib目录)。而这种搭建方式没有第三方类库的依赖关系,在导入一个特定的jar包时,可能此jar包还依赖其他的jar包,其他的jar包又依赖于更多的jar包。为了解决上述问题,我们急需引入一个项目构建工具。Apache Maven是一个软件项目管理工具,基于项目对象模型(Project Object Model, POM)的概念。Maven可以用来管理项目的依赖、编译、文档等信息。

POM介绍


Maven的项目都有一个pom.xml用来管理项目的依赖以及项目的编译等功能。

一个pom.xml中包含了许多标签,各个标签是对项目生命周期、依赖管理的配置。常用的主要有:

1、常用的标签

    1::pom.xml的根标签,一个maven项目用一对标签包裹。        
        xmlns表示命名空间,xmlns="http://maven.apache.org/POM/4.0.0" 这表示默认命名空间
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 这个命名空间里面的元素或者属性就必须 要以xsi:这种方式来写
        比如schemaLocation就是他的一个属性,所以写成xsi:schemaLocation,而默认命名空间不带类似 xsi这种

    2::maven的版本


    3:当前项目的坐标以及打包方式:
        :企业网址反写+项目名


        :项目名-模块名


        :版本号+类型


                        版本号由三个整数表示,每个整数用“.”分隔,表示:大版本号.分支版本号.小版本号


                        类型:版本类型。主要有:snapshot快照版本(简化版本)、alpha内测版、beta公测版、release稳定版、GA正式发布版


        :打包类型,默认是jar,可以配置成war、zip、pom类型。


    4::当前项目名


    5::项目地址


    6::项目描述信息


    7::开发者信息


    8::项目许可证信息,用来发布时授予别人使用此项目的权利


    9::组织信息,企业信息


    以上都是对这个maven项目的相关信息配置。


    10::属性值标签,也叫变量标签。与Ant中的property一样,可以通过这个标签包含一些属性并指定属性值。那么在pom.xml的其他地方,可以通过EL表达式访问变量的方法——${属性名}  来获取具体的属性值。一般这个用来作为整个pom.xml中需要重复使用的内容或者全局变量使用。


    11::依赖标签。

  
      
  
         
                  
                
                  
  
          
        一个范围  
          
           
              
                
                 
                 
                 
              
           
      
 

    12:依赖管理标签:主要用于制定父pom.xml,其他项目可以继承这个pom.xml,从而避免重复定义某些depency。


    
       
           依赖包的坐标...
       
    

   13:<build>:项目支持标签,Maven提供了编译插件,可在编译插件中涉及Java的编译级别


    
      
         
                  
                  
                  

         其他设置...

      
    

    14::继承标签,用于继承父项目。

    15::聚合标签,用于聚合多个maven项目,这样用某指令执行这个pom就会把聚合的各项目全部执行,同时处理多个项目。


  
  4.0.0
  com.test
  WebApp
  war
  1.0
  
  WebApp Maven Webapp
  http://maven.apache.org
  
      
    
      commons-fileupload
      commons-fileupload
      1.2.1
    
    
    
    
      commons-io
      commons-io
      1.3.2
    
  
  
  
    WebApp
  

转载出处:https://www.cnblogs.com/ygj0930/p/6628201.html

你可能感兴趣的:(maven,pom.xml,标签,spring-boot)