Maven

一、Maven简介与下载

        1、maven是apache组织下的一款开源项目,它的作用是帮助我们去很好的管理项目

       2、maven官网:http://maven.apache.org

       3、maven的下载:http://maven.apache.org/download.cgi 

          

      4、maven目录结构介绍

          

 

二、Maven的安装与配置

      1、配置MAVEN_HOME

         

     2、配置path

         

     3、查看Maven是否配置成功

           如果不配置Maven的环境变量将不能在DOS下执行相关操作
        

         

三、Eclipse配置Maven

        1、Eclipse:Window >> Preferences >> Maven >> Installations

                 

 

       2、Eclipse:Window >> Preferences >> Maven >> User Setting【必须先配置Maven本地仓库】

                 

              图片演示的地址跟说明的地址不一样,只要指向你自己本地仓库中的setting.xml就可以,至此Eclipse的Maven配置已完成

      4、创建Maven项目

              有俩种方式

            (1)  Eclipse:New > Other  搜索Maven  > Maven Project > 勾选 Creat a simple project > Next
                        174931_XL1X_2334610.png

                     输入groupId和artifactId >> Finish

           (2)Maven项目结构介绍

                 

     5、Eclipse运行Maven项目,选择项目或项目下的pom.xml文件 >> 右键 >> Run As >> Maven build >> 输入要执行的Maven命令

     6、Maven项目发布到私服

          (1)设置镜像,在本地仓库setting.xml中,找到mirrors,添加私服仓库的镜像

                 

          (2)设置server,在setting.xml中,找到servers,进行如下配置

                 

          (3)设置pom.xm

                 

           (4)对项目执行clean deploy命令【你的私服仓库必须配置正确才能成功发布到私服仓库】

 

四、Maven命令

       mvn -clean:运行清理操作,会默认清掉target目录

       mvn -clean compile:先运行清理再进行编译,会将代码编译到target文件夹中

      mvn -clean test:运行清理和测试

      mvn -clean package:运行清理和打包

      mvn -clean install:运行清理和安装,会将打好的包安装到本地仓库中

      mvn -clean deploy:运行清理和发布,会发布到私服

      mvn -compile:编译

五、Maven坐标

      Maven坐标元素包括:groupId、artifactId、version、packaging、classifier

      groupId:定义当前Maven项目隶属的实际项目的名称,

      arifactId:该元素定义实际项目中的一个Maven项目,推荐命名格式:“实际项目名-模块名”

      version:定义项目当前的版本

      packaging:定义项目打包的方式。jar、war、pom

      classifier:定义构建输出的一些附属构建,比如项目的文档附件

     所有的依赖都是通过坐标(GVA)来进行存储,GVA是groupId、version、artifactId的缩写

 

六、nexus搭建Maven私服仓库(Windows系统)

     1、在你服务器上安装配置好Maven,安装配置见上面第二点

     2、安装Nexus

          (1)Nexus下载:http://www.sonatype.org/nexus/go 

         (2)Nexus环境变量配置:

                   变量值指向nexus解压目录下的bin目录

                   

        (3)Nexus安装

                  修改端口号:在nexus安装目录conf下打开nexus.properties文件,修改application-port属性值即可

                  以管理员身份打开命令窗口,输入nexus install,然后输入nexus start

                 出现nexus started表示安装成功

                

                 

        (4)Nexus登录

                  Nexus访问地址:localhost:8081/nexus

                 管理员帐号登录:admin/admin123

       (5)Nexus仓库介绍

                 1)Hosted仓库,内部项目的发布仓库

                              Releases:是内部模块中release模块的发布仓库

                             Snapshots:发布内部SNAPSHOTS模块的仓库

                             3rd party:第三方依赖仓库,这个数据通常是由内部人员自行下载之后发布的

                2)proxy仓库,从远程中央仓库中寻找数据仓库

                3)group仓库,组仓库,用来方便开发人员设置的仓库

      (6)创建私服仓库

             先登录进Nexus

            (1)点击左侧Repositories,然后添加一个本地仓库Hosted Repository

                             

            (2)设置仓库

                             

七、Maven依赖

      1、 依赖就是指该项目所需要依赖的一些jar包

      2、怎么添加依赖 ?

            

     3、依赖的类型

           依赖的类型有<packaging>来定,<packaging>的默认值是jar,另还有war、pom类型

     4、依赖的范围

          (1)compile范围指在编译范围有效、在编译和打包时都会将依赖存储进去(默认)

         (2)test范围是指的是测试范围有效,在编译和打包时都不会使用这个依赖

         (3)provided范围是指在编译和测试的过程有效,最后生成war包时不会加入,例如:servlet的API,因为servlet-api,

                 tomcat等web服务器已经存在了,如果再打包会冲突

         (4)runtime范围是指运行时依赖,编译时依赖

         (5)import导入依赖范围

         (6)system系统依赖范围

                  compile >> test >> package >> install

    5、依赖传递性  

            (1)如果A依赖于B,B依赖于C,那么A就依赖C,这就是传递性依赖

           (2)如果A依赖于C1.0,B也依赖于C1.1,而D依赖于A和B,那么如果A写在前面就会调用C1.0,如果是B写在前面就会调用C1.1

    6、可选依赖

         比如以下情况:

        B是一个持久层隔离工具包,它支持多种数据库,包括mysql,oracle等,在构建这个工具包的时候,需要这俩种数据库的驱动程序,但只会依赖一种数据库,

         这时就可用可选依赖

        

   7、排除依赖

        基于依赖的传递性,子类中如果不想引入传递性的某个依赖A,而是自己直接显示的声明对A的依赖,可使用<exclusion>进行排除依赖

        

    8、依赖的聚合

        聚合的项目和其他项目在同一级模块中需要使用 . ./ 项目名

        

 

八、Maven仓库

   1、创建本地仓库

        1)在D盘创建一个目录作为Maven的本地仓库,如d:/maven-store/repository

         2) 将maven安装目录config下的setting.xml复制到d:/maven-store目录下

               

        3)打开本地仓库中的setting.xml增加以下内容

               

   2、修改远程仓库

               

 

 

dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

 

 

 

转载于:https://my.oschina.net/weslie/blog/472002

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值