Maven私服搭建及使用-Windows版

2021-02-20 20:18

阅读:729

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

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

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

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

  我的Nexus目录:NEXUS_HOME\nexus-3.7.1-02-win64\nexus-3.7.1-02\bin

  最后启动成功提示如下,即可访问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\nexus3\blobs\default下,可创建多个

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>contentid>
      mirrorOf>*mirrorOf>
      name>maven-publicname>
      url>http://192.168.1.168:8081/repository/maven-public/url>
    mirror>
  mirrors>
servers>
    server>
      id>nexusid> 
      username>adminusername>
      password>admin123password>
    server>
  servers>

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

  distributionManagement>
        snapshotRepository>
            id>nexusid>
            url>http://192.168.1.168:8081/repository/maven-public/url>
        snapshotRepository>
        repository>
            id>nexusid>
            url>http://192.168.1.168:8081/repository/maven-public/url>
        repository>
    distributionManagement>
  
repositories>
 repository>
            id>maven-publicid>
            url>http://192.168.1.168:8081/repository/maven-public/url>
            releases>
                enabled>trueenabled>
            releases>
            snapshots>
                enabled>trueenabled>
                updatePolicy>dailyupdatePolicy>
                
            snapshots>
        repository>
repositories>

3.项目中pom引用jar

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

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

dependency>
  groupId>org2.kaolagroupId>
  artifactId>fastdfsartifactId>
  version>1.27-SNAPSHOTversion>
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文件中org.kaola配置

DartifactId:文件名,pom文件中fastdfs配置

Dversion:版本,pom文件中1.27-SNAPSHOT配置

Dfile:上传文件本地路径

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

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

 

 

 

    

 

     

    

 


评论


亲,登录后才可以留言!