项目构建--Maven--pom结构(二)

一、Maven的pom.xml

Maven是基于项目对象模型的概念运行的。所有Maven的项目都有一个pom.xml用来管理项目的依赖以及项目的编译等功能。

  1. dependencies元素
    ,此元素包含多个项目依赖,每个依赖需要用
    元素来配置。
    2.dependency元素
    内部通过groupId,artifactId以及version确定唯一的依赖。groupId是组织的唯一标识,artifactId是项目的唯一标识,version是项目的版本。
        
            junit
            junit
            4.12
            test
        

3.变量定义
可定义变量在中使用。比如上例中的元素中的变量就是pom.xml开始的元素中所定义的。


    1.3.0

4.编译插件
Maven 提供了编译插件,可在编译插件中涉及java的编译级别。


二、Maven仓库

Maven仓库用来存放Maven管理的所有Jar包。当项目需要jar包的时候通过坐标去仓库寻找jar包。分为:本地仓库、私服公司的仓库)和中央仓库。
当项目编译时,Maven首先从本地仓库中寻找项目所需的Jar包,若本地仓库没有,再到Maven的私服或中央仓库下载所需Jar包。

  
    
    central  
    Central Repository  
    https://repo.maven.apache.org/maven2  
    default  
      
      false  
      
    
 


    
        aliyun-repos
        http://maven.aliyun.com/nexus/content/groups/public/
        
            false
        
    



    
        aliyun-plugin
        http://maven.aliyun.com/nexus/content/groups/public/
        
            false
        
    



    
        tomcat8-plugin
        https://artifacts.alfresco.com/nexus/content/repositories/public/
    

三、传递依赖与排除依赖

传递依赖:如果我们的项目引用了一个Jar包,而该Jar包又引用了其他Jar包,那么在默认情况下项目编译时,Maven会把直接引用和间接引用的Jar包都下载到本地。
排除依赖:如果不想引用间接引用的Jar包,那么可以在pom.xml中做exclusion配置


    
        org.springframework.boot
        spring-boot-starter-web
        
        
            
                org.springframework.boot
                spring-boot-starter-tomcat
            
        
    

四、生成项目站点报告



        
            org.apache.maven.plugins
            maven-site-plugin
            3.7.1
            
                zh_CN
            
        
        
            org.apache.maven.plugins
            maven-project-info-reports-plugin
            3.0.0
        
    

生成结果

五、常见问题

  1. 乱码解决:


    乱码解决
MAVEN_OPTS:-Xms128m -Xmx512m -Dfile.encoding=UTF-8 
JAVA_TOOL_OPTIONS:-Dfile.encoding=UTF-8
  1. 解決 IDEA Create Maven Project 卡在 Downloading plugins for
    maven每次进行创建的时候回去网上下载artheType-catalog.xml

你可能感兴趣的:(项目构建--Maven--pom结构(二))