Maven学习

一、Maven是什么

          首先我们要知道Maven究竟是什么东西,干嘛用的。

          来到官网,下面的截图是官网对Maven的介绍,使用谷歌翻译之后的截图。

           

            个人感觉这个介绍还是有点过于官方,基于我自己的经验还有网上一些大神的看法,我做一个通俗一点的解释。Maven 是一个项目管理工具,可以对  项目进行构建、依赖管理。具体是通过在pom文件中配置项目所需要的jar包,以及当前项目的一些版本信息。至于为什么在pom文件中进行了配置就能下载到对应的jar包,这些jar包是从哪里下载到的。http://www.runoob.com/maven/maven-repositories.html中有简单的介绍。

           安装maven需要先配置java环境,具体的如何操作可以参考:http://www.runoob.com/maven/maven-setup.html

          以下的截图是pom文件的写法和介绍。

 

 二、为什么要搭建私库

            首先介绍一下,maven仓库分为三种。本地仓库,第三方仓库和中央仓库。本地仓库就是从第三方仓库或者下载下来的在你本地的目录里。比如说我的就是在/Users/用户名/.m2/repository/中。

           为什么要搭建私库,其实主要就是因为在团队开发中同一个项目依赖的项目肯定也都相同。有时候网络不稳定,去中心库下载依赖文件的话,可能很费时。而且如果没有配置私有库的话,每个人都要去中心库下载一次,比较影响效率。因此,如果有了私有库的话,我们依赖的文件,先会在私有库中查找一下,如果有的话就从私有库去下载。如果私有库还不包含所需要依赖的文件的话,私有库会先去中心库去下载,然后本地库再去私有库进行下载。以下是网上找的一张图,仓库的结构。

 

三、怎么搭建

           我是使用nuxus在windows环境中搭建的。

          使用nexus搭建私服之前,需要先在机器上安装jdk、maven.

          先下载nexus,下载地址https://www.sonatype.com/download-oss-sonatype.

          下载下来之后,直接解压,进入到进入nexus-xxx目录:

          然后就是启动。启动的方法,在网上大部分都是写的打开cmd窗口,然后进入到解压之后的nexus-xxx\bin目录下,然后执行命令:nexus.exe /run。然后看到如下界面就是启动成功了。

          其实还有另外一种方法,在cmd窗口进入到bin目录下。执行nexus /install Nexus3

         在任务管理器中启动Nexus3(如果没看到Nexus3,需要重启下电脑;如果重启后还没有,只能检查日志了)

         个人是比较推荐第二种方式,因为第一种方式在cmd窗口中打开,如果cmd窗口关闭了,服务就停了,第二种方式注册到了系统的服务中,而且如果机器重启也会自动就启动这个服务。

         然后等一小段时间,在浏览其中访问http://localhost:8081/ :

          到此,其实私库其实就已经搭建好了。

 

四、如何使用

          Nexus的默认管理员帐号:admin,密码:admin123。点击界面右上角可以登录。       

          我们先来看一下默认的目录结构,

         默认的有maven-central、maven-public、maven-release、maven-snapshots、nuget-group、nuget-hosted、nuget.org-proxy。我们这里重点关注maven开头的那几个目录。在网上查了一下Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展。我做java的所以先不管那几个目录了。

        具体介绍参考https://blog.csdn.net/qq_22211217/article/details/81075978

        在使用deploy命令上传包的时候如果遇到400、401、405等错误的时候参考https://13594135.iteye.com/blog/907259;如果是405错误的话,请检查settings.xml中配置的server中配置id与项目pom文件中distributionManagement标签下的id名字是否相同。

        如果是401的错误,可以检查一下是否是版本号为快照的时候,配置的是release的目录。
        在执行deploy的命令时,根据根据项目version中配置的版本来决定上传到私库的release还是snapshot目录中。如果版本号以SNAPSHOT结尾(不分大小写),系统会认为是快照版本,发布到snapshot目录中去。

未完待续....

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值