5.maven的核心概念

maven的核心概念

一、坐标

       1.Maven中的坐标指的是gav坐标,即pom.xml中指定的<groupId>、<artifactId>、<version>,它可以唯一标识一个构建,并且将它规定成规范,就可以将查找下载构建全部交给机器来做。

        2.maven坐标的组成

                 a)groupId:项目所在的包

                 b)artifactId:项目名称

                 c)version:当前项目的版本

二、依赖管理

        1.依赖管理就是早pom.xml中配置gav坐标来依赖其他项目和jar包,相当于调用合并其他项目。

            

        2.依赖范围

            pom.xml中有<scope>来设置依赖范围,依赖范围相当于是你调用的这个项目或jar包能够用在项目构建的什么时候,如果超出范围,那么在这个命令中调用的jar包无效。

            complie:不设置<scope>时,默认值,任何操作时都有效。

            test:只有在测试包中有效。

            provided:除了打包操作,其他操作都有效。

            runtime:只有在打包时有效。

             

        3.传递依赖

              当一个改进的项目依赖于初始的项目,最终的项目依赖于改进的项目时,三者依赖形成传递依赖,并且从后往前分为第一直接依赖和第二直接依赖。

                

         4.传递依赖的范围

                当传递依赖时前面引用了某个jar或项目时,传递到后面范围会因之前设置的范围也有所不同。

                第一行表示前面的传递范围,即第二直接依赖。

                第一列表示后面的传递范围,即第一直接依赖。

               

         5.依赖冲突

                 依赖冲突分为跨pom.xml和同一个pom.xml的冲突

                 a)跨pom.xml的冲突:当前面的依赖和后面的依赖都引用同一个包或项目,但是版本不同,会造成混乱,而系统会默认采取就近原则,谁靠的近就是谁的版本。

                 b)同pom.xml的冲突:当在同一个pom.xml中引入了两个相同的jar包,但是版本不同,系统会采取谁后写就用谁的版本,可以理解为后写后加载而覆盖了。

          6.可选依赖

                  在依赖时使用<optional>来设置该引用是否向下传递,true表示不向下传递,false表示向下传递,写在引用的地方。

          7.排除依赖

                   使用<>来设置排除指定依赖,使用GA来指定你要排除的引用依赖,写在你要用排除的项目中。

                    

          

                                                                                                            ---------------To  Be  Continued

猜你喜欢

转载自blog.csdn.net/qq_40672748/article/details/81745718