zoukankan      html  css  js  c++  java
  • Maven私服搭建及使用-Windows版

    了解有限,目前只针对基础功能介绍,持续更新

    一、下载对应的版本(本例版本:nexus-3.7.1-02)

      https://www.sonatype.com/download-oss-sonatype

    二、启动服务,进入对应安装目录,按住shift右键,打开cmd命令行,执行nexus.exe /run

      我的Nexus目录:NEXUS_HOME exus-3.7.1-02-win64 exus-3.7.1-02in

      最后启动成功提示如下,即可访问http://192.168.1.168:8081/登录,帐号admin 密码admin123

     

    三、页面介绍

    1.仓库页面

    点击导航Browse,这里是所有已经配置的仓库

    Name:

    maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取JAR包,这个远端地址可改,也可新建另外一个

    maven-releases:私库发行版JAR

    maven-snapshots:私库调试版本JAR

    maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务

    Type:

    proxy:代理远端仓库

    hosted:本地Jar包

    group:仓库组

     

    2.搜索功能

    便于快速查找jar包,导航中选择Search,可选择多种类型的查找方式,比如按名称、按版本、按仓库组等,此功能是模糊查找

    3.创建修改仓库&仓库组

    点击上方齿轮图标,即可打开配置管理页面,其中Repository栏为仓库管理,下面只针对这里的Blob Stores、Repositories说明

    Blob Stores:jar包存放路径,默认存放在NEXUS_HOME/sonatype-work exus3lobsdefault下,可创建多个

    Repositories:

      创建代理仓库Proxy

        ①选择Create repository创建仓库

        ②选择仓库类型maven2(proxy)

          

        ③设置仓库名称

           

        ④设置仓库版本,代理仓库通常设置为releases

          

        ⑤配置下载存放路径,默认是Blob Storesdefault

        ⑥配置代理仓库地址,我是用阿里的

          

        以上完成后保存创建即可完成代理仓库的创建

       创建本地仓库(第三方、代理仓库中没有的jar都放这里)hosted,重复上面的流程,不同处如下

        ②选择仓库类型maven2(hosted)

        ④设置仓库版本,releases或snapshots,两者区别如下:

           有一个自己封装的jar包,该jar包处于开发版,近期会不停的更新,版本为1.0,使用snapshots仓库,今后jar包更新后,只需将新的包传入到该仓库,

           项目中会自动下载更新到这个包,无需修改版本号;用releases这个仓库,每次变更jar包必须升级版本号,对应项目pom文件中要修改,否则新的jar包不会被下载

        ⑥此步改为,目的是可以上传部署jar

          

      创建仓库组group,重复上面的流程,不同处如下

        ②选择仓库类型maven2(group)

          ④设置将哪些仓库归类到一个组里

          

      到现在为止,Nexus仓库部分操作完成

     四、使用仓库

    1.配置Maven settings.xml  

      配置中URL自行修改

     <mirrors>
        <mirror>
          <id>content</id>
          <mirrorOf>*</mirrorOf>
          <name>maven-public</name>
          <url>http://192.168.1.168:8081/repository/maven-public/</url>
        </mirror>
      </mirrors>
    <servers>
        <server>
          <id>nexus</id> <!--这个id用于上传jar包-->
          <username>admin</username>
          <password>admin123</password>
        </server>
      </servers>

    2.在项目pom.xml中配置如下,目的:snapshots模式时,更新策略设置,非snapshots模式不用配置

      <distributionManagement>
            <snapshotRepository>
                <id>nexus</id>
                <url>http://192.168.1.168:8081/repository/maven-public/</url>
            </snapshotRepository>
            <repository>
                <id>nexus</id>
                <url>http://192.168.1.168:8081/repository/maven-public/</url>
            </repository>
        </distributionManagement>
      
    <repositories>
     <repository>
                <id>maven-public</id>
                <url>http://192.168.1.168:8081/repository/maven-public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>daily</updatePolicy>
                    <!--该元素指定更新发生的频率。Maven会比较本地POM和远程POM的时间戳。这里的选项是:always(一直),daily(默认,每日),interval:X(这里X是以分钟为单位的时间间隔),或者never(从不)。 -->
                </snapshots>
            </repository>
    </repositories>

    3.项目中pom引用jar

      引用快照版,他会去私服中仓库类型为SNAPSHOT里去找jar,注意版本后面一定要加-SNAPSHOT,发布版直接写<version>1.27</version>;

      发布快照版jar后,需本地执行Maven test或者Maven install等操作才会更新jar

    <dependency>
      <groupId>org2.kaola</groupId>
      <artifactId>fastdfs</artifactId>
      <version>1.27-SNAPSHOT</version>
    </dependency>

    五、Jar包发布

    使用方式:直接cmd中输入如下命令

    1.发布releases版

    mvn deploy:deploy-file -DgroupId=org.kaola -DartifactId=fastdfs -Dversion=1.25 -Dpackaging=jar -Dfile=D:fastdfs.jar -Durl=http://192.168.1.168:8081/repository/maven-releases/ -DrepositoryId=nexus

    2.发布snapshots版

    mvn deploy:deploy-file -DgroupId=org2.kaola -DartifactId=fastdfs -Dversion=1.27-SNAPSHOT -Dpackaging=jar -Dfile=D:fastdfs-SNAPSHOT.jar -Durl=http://192.168.1.168:8081/repository/maven-snapshots/ -DrepositoryId=nexus

    需要自定义内容:

    DgroupId:包分组,例如org.kaola,pom文件中<groupId>org.kaola</groupId>配置

    DartifactId:文件名,pom文件中<artifactId>fastdfs</artifactId>配置

    Dversion:版本,pom文件中<version>1.27-SNAPSHOT</version>配置

    Dfile:上传文件本地路径

    Durl:仓库路径,上传到哪个仓库

    DrepositoryId:上面步骤4-1中配置的id

     

     

        

         

        

  • 相关阅读:
    php报表之jpgraph柱状图实例
    如何不做伪phper
    php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!编辑
    PHP解析JSON与XML
    dedeCms登录后台(验证码不正确)解决办法
    php curl用法
    PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
    SAE学习笔记1
    windows(linuxFedora13)php 发送邮件 (sendmail+PHPMailer) 结合配置问题
    drupal7 常用的数据读取API
  • 原文地址:https://www.cnblogs.com/rb2010/p/8257560.html
Copyright © 2011-2022 走看看