zoukankan      html  css  js  c++  java
  • maven的安装配置超详细教程【含nexus】

    1 下载

    下载地址:http://maven.apache.org/download.cgi

    界面效果如下:

    点击之后进入的apache 软件基金的发布目录,在这里你可以下载apache的所有项目。

    我们现在要下载maven,只需要找到maven目录就可以了。

    找到maven目录进入之后的效果是下面这样的,我们想要下载3版本,就点击maven-3就可以了。

    进去之后可以看到3系列的最新版本是3.5.3,

    这里我们就使用最新版本3.5.3

    这里在强调了maven3.5.3需要的jdk的版本是1.7及其以上。

    下面贴上maven版本和jdk版本的对应关系表,方便参考。

    进入maven-3.5.3目录,看到里面的目录结构如下:

    binaries里面是安装文件,包括windows版本和linux版本两个安装文件

    可以根据个人需要下载,我后文讲的windows上面的安装,所以下载的apache-maven-3.5.3-bin.zip文件

    2 安装

    maven的安装非常的简单,一步搞定。

    解压下载的安装文件到一个没有中文没有空格的文件夹里,解压后的目录如下

    3 Maven环境变量的配置

    要配置 jdk, maven3.5.3 这个版本所需的 jdk 版本必须要 1.7 以上
    最终要运行的是 maven 软件中 bin 目录的 mvn 命令
    所以要配置 maven 的环境变量
    在系统变量添加
    环境变量的名称:MAVEN_HOME
    变量值:就是 maven 软件解压的目录E:developmavenapache-maven-3.5.3

    再path路径下面加入如下内容:%MAVEN_HOME%in

    验证maven是否配置成功

    打开dos命令行,输入mvn -v

    出现下面的效果,说明安装成功。

    4 Maven仓库

    Maven的工作需要从仓库下载一些jar包,如下图所示,本地的项目A,项目B以及其它项目都活通过

    Maven软件从远程(可以理解为互联网上的仓库)下载jar包并保存在本地仓库,本地仓库,就是本地

    文件夹,当第二次需要这些jar包的时候,就不在需要从远程仓库下载,因为本地仓库以及存在了,

    可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。

    maven有三种仓库,它们分别是本地仓库,远程仓库,中央仓库。

    1 本地仓库(自己维护)

    1.本地仓库(自己维护):用来存储从远程仓库或者中央仓库下载的插件或者jar包,项目使用插件或者jar包的时候,优先从本地仓库查找。
    默认位置${user.home}/.m2/repository 也就是:C:Usersjepson.m2 epository

    2.远程仓库(公司维护)

    如果本地需要插件或者jar包的时候,本地仓库没有,这个时候默认去远程仓库下载。

    远程仓库可以在互联网上,也可以在局域网内。

    3.中央仓库(maven团队维护)

    在我们安装的maven软件中内置了一个远程仓库地址:http://repo1.maven.org/maven2,

    它就是中央仓库,服务与整个互联网,它是由maven团队自己维护,里面存储了非常全

    的jar包,它包含了世界上大部分流行的开源项目构建,统计数量至少超过2亿。

    4. 配置本地仓库

     新建一个名为repository的文件夹

    在settings.xml文件中配置本地仓库的位置:

    配置前:

    配置后:

    5. 三种仓库的关系

    5 Maven插件在eclipse上的安装

    我本地使用的eclipse mars 2 版本,此版本自带maven插件不用安装。

    1 查看Maven插件是否存在

    在新建窗口中可以看到maven项目的创建项,就表示maven插件以及存在。

    2 指定maven的安装目录

     在一些高版本的eclipse中已经安装好了maven插件,下图是eclipse mars 2吧呢不能中已经安装的

    maven3.3.3版本,项目为了同意maven的版本不会使用eclipse内置的maven版本,这里我是使用

    的maven3.5.3.

    指定maven的安装目录,使用maven3.5.3版本。

    3 User Settings配置

     在eclipse中配置使用的maven的setting.xml文件,使用maven安装目录下的setting.xml文件。

     

    注意:如果修改了setting.xml文件,需要点击上图中的“update settings"按钮对本地仓库重建索引,点击Reindex.

    4 eclipse中浏览maven仓库

     maven配置完成需要测试在eclipse中是否可以浏览maven的本地仓库,如果可以正常浏览

    maven本地仓库,怎说说明eclipse集成maven已经完成。

    打开eclipse仓库视图,对插件和jar包建立索引。

    找到Local repository本地仓库项,点击Reindex index重建索引。

    重建索引完成后,即可查看本地仓库的内容:

    6 私服

    1 私服是什么?

    公司在自己的局域网内搭建自己的远程仓库服务器,称为私服。

    私服服务器即是公司内部的maven远程仓库,每个员工共的电脑上安装maven软件并且链接私服服务器,

    员工将自己开发的项目打成jar并发布到私服服务器,其它项目组从私服服务器下载所依赖的构件(jar)

    私服还充当一个代理服务器,当私服上没有jar包,则会从互联网中央仓库自动下载。

    2 为什么要安装私服?

    正式的开发中,项目基本都是分模块开发的,不同的项目组负责开发不同的工程。

    例如:A项目组负责maven-dao工程,开发完毕,发不到私服。

               B项目组负责maven-service,就可以直接从私服下载dao.

    7 搭建私服环境

     Nexus是Maven仓库管理器,通过nexus可以搭建maven仓库,同时nexus还提供强大的仓库管理功能,构建搜索功能等。

    1 下载

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

    界面效果如下:我下载的是windows版本的2.x,目前的最新版本是3.x

    2 安装nexus

    下载文件

    解压上面的压缩文件到E:developmaven exus下,如下图:

    解压完成之后,进入E:developmaven exus exus-2.14.8-01in

    打开命令行进入当前目录,执行nexus.bat install

    1.尽量以管理员的身份打开命令行

    2.执行命令

    3.查看nexus服务

    3.卸载nexus

    4.启动nexus

    5.查看nexus的配置文件

    6.访问

    http://localhost:8081/nexus/

    7 登录

    使用nexus内置账户登录admin/admin123:

    点击右上角的login in ,输入账号和密码登录

    8.查看仓库

    9.nexus的仓库类型

    nexus的仓库有四种类型:

    nexus仓库默认在sonatype-work目录中,

    central:代理仓库,代理中央仓库。

    8 将项目发布到私服

    1 需求

    2 配置

    添加到settings.xml中

    <server>
          <id>releases</id>
          <username>admin</username>
          <password>admin123</password>
    </server>
    <server>
          <id>snapshots</id>
          <username>admin</username>
          <password>admin123</password>
     </server>

    在setting.xml文件中找到一个<servers>的标签:

    去掉中间的注释,然后将上面提供的代码拷贝到里面去:

    注意上面的id是从下面这里来的

    <distributionManagement>
          <repository>
              <id>releases</id>
        <url>http://localhost:8081/nexus/content/repositories/releases/</url>
          </repository> 
          <snapshotRepository>
              <id>snapshots</id>
        <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
          </snapshotRepository> 
      </distributionManagement>

    3 测试

        将项目dao工程打成jar包发布到私服:

       1.首先启动nexus

       2.对bos-dao工程执行deploy命名。

        根据本项目pom.xml中version定义决定发布到那个仓库,如果version定义为snapshot,

        执行deploy后查看nexus的snapshot仓库,如果version定义为release则项目将发布到

        nexus的release仓库,本项目将发布到snapshot仓库:

    下面查看一下:

    也可去本地查看:

    如果想要将发布到私服的bos-dao.jar包删除, 只需将E:developmaven exussonatype-work exusstoragesnapshots

    下的com/test/bos-dao删除即可。

    9 从私服下载jar包

    1 需求

    2 管理仓库组

     

    3.在setting.xml中配置仓库

    打开setting.xml配置文件,找到里面的profiles标签,中间部分的注释内容可以全部删除掉,然后加入我们自己的内容。

    配置完成后的效果:

    <profiles>
        <profile>   
            <!--profile的id-->
            <id>dev</id>   
            <repositories>   
              <repository>  
                <!--仓库id,repositories可以配置多个仓库,保证id不重复-->
                <id>nexus</id>   
                <!--仓库地址,即nexus仓库组的地址-->
                <url>http://localhost:8081/nexus/content/groups/public/</url>   
                <!--是否下载releases构件-->
                <releases>   
                  <enabled>true</enabled>   
                </releases>   
                <!--是否下载snapshots构件-->
                <snapshots>   
                  <enabled>true</enabled>   
                </snapshots>   
              </repository>   
            </repositories>  
             <pluginRepositories>  
                <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
                <pluginRepository>  
                    <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
                    <id>public</id>  
                    <name>Public Repositories</name>  
                    <url>http://localhost:8081/nexus/content/groups/public/</url>  
                </pluginRepository>  
            </pluginRepositories>  
        </profile>  
      </profiles>

    使用profile定义仓库需要激活才能生效

    <activeProfiles>
        <activeProfile>dev</activeProfile>
    </activeProfiles>

     

    4 测试

    首先我们将本地仓库中的bos-dao的jar包删除。

    然后bos-service开始就会报错,提示确实了bos-dao.jar。

    然后执行maven --->update project发现又好了,并且回到仓库中发现又有了bos-dao.jar

    在maven-console也可以看到它会去我的私服上下载东西。

    一个问题:是不是我们的bos-dao只要有改动就需要发布到私服上面去呢?

    答:不是的,只有在bos-service模块需要dao开发新的工程的时候,才需要去改动的,并且需要注意的是,改动之后的版本号

    也要改变,如果你还是用<version>0.0.1-SNAPSHOT</version>,bos-service也不知道你这是新的代码,就不会去私服上去下载。

    因为和bos-service本地的版本号一直。所以有了修改之后,是要修改版本号的,比如<version>0.0.2-SNAPSHOT</version>.

    这个时候只要bos-dao告诉bos-service团队我们的bos-dao发布了新版本,bos-service团队就可以去使用新版本0.0.2了。

  • 相关阅读:
    快速排序
    将指定目录下的所有子文件或子目录加载到TreeView
    导入英汉文本,用字符串切割,泛型集合存储的英汉字典
    取年月日的字符串方法
    简化的MVC-导入模板HTML,导入数据txt,用字符串方法生成JS菜单
    索引器的使用
    打开文件练习
    泛型委托
    将正则表达式转化成确定的有限自动机
    青蛙过桥
  • 原文地址:https://www.cnblogs.com/jepson6669/p/9080488.html
Copyright © 2011-2022 走看看