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

一、下载对应的版本(本例版本: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>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

    

     

    

Maven私服搭建及使用-Windows版的更多相关文章

  1. window Maven私服搭建——nexus

    注:本文来源于 <window   Maven私服搭建--nexus> Maven私服搭建--nexus 1.下载nexus https://www.sonatype.com/downlo ...

  2. maven私服搭建

    一.软件安装 地址:http://www.sonatype.org/nexus/thank-you-for-downloading/?dl=tgz 解压: 启动: >> nexus sta ...

  3. maven私服搭建(centOS6.5)

    maven的好处和私服的应用本文不赘述,私服搭建如下: MAVEN 私服搭建(centOS 6.5 环境) 1.  准备环境,搭建centOS6.5系统环境,略 2.  准备对应的软件包如下: A. ...

  4. maven仓库总结,maven私服搭建

    配置pom.xml依赖包时在这里找包的描述: http://search.maven.org/#browse 以java为根目录. mvn archtype:generate -DgroupId=zt ...

  5. maven仓库总结,maven私服搭建,批量mvn eclipse:eclipse

    配置pom.xml依赖包时在这里找包的描述: http://search.maven.org/#browse 以java为根目录. mvn archtype:generate -DgroupId=zt ...

  6. maven私服搭建&使用

    Maven私服搭建教程 一.nexus安装 1,解压安装包 安装包下载地址 2,以管理员身份打开cmd 3,进入到nexus的bin目录 (1) 安装:nexus install (2) 启动:nex ...

  7. Nexus Maven 私服搭建

    1.下载Nexus安装文件:http://www.sonatype.org/nexus/go ,目前是nexus-2.13.0-01-bundle.tar.zip这个最新版本: 2.解压到任意目录,我 ...

  8. linux7下nenux3.14的maven私服搭建和配置使用

    为什么用私服,各种帖子很多,话不多说,直接奉上本博主的搭建过程. 一.环境准备:确保jdk和maven安装完成 二.下载nenux:地址:https://www.sonatype.com/downlo ...

  9. Maven私服架设(nexus / on windows)

    Maven私服可以用多个不同的产品可供选择,下面我们演示使用最为广泛的nexus来架设maven本地私服   Nexus的下载及安装请见官方下载页: http://www.sonatype.org/n ...

随机推荐

  1. 解决'androidx.arch.core:core-runtime' has different version for the compile (2.0.0) and runtime (2.0.1)

    先说原因,我们引用的包版本不同产生了冲突,所以编译不通过.解决的办法是在引用的时候排除一个版本,只留一个版本. 解决过程: 先找出哪些库引用了相同的库,仅仅是版本不同. gradle app:depe ...

  2. Java反射【四、成员变量的反射和构造的反射】

    获取一个类下所有字段信息 Field[] fs = c.getFields(); 获取所有字段(public) Field[] fs = c.getDeclaredFields(); 获取所有声明字段 ...

  3. C语言特殊函数的应用

    1. va_list相关函数的学习: va_list是一种变参量的指针类型定义. va_list使用方法如下: 1)首先在函数中定义一个具有va_list型的变量,这个变量是指向参数的指针. 2)首先 ...

  4. 1.Nginx安装

    1.Nginx安装配置 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发的高性能 Web和 反向代理服务器,也是一个 IMAP/POP3/ ...

  5. 一键登录已成大势所趋,Android端操作指南来啦!

    根据极光(Aurora Mobile)发布的<2019年Q2移动互联网行业数据研究报告>,2019年第二季度,移动网民人均安装APP总量已达56款.面对如此繁多的APP,想在用户的手机中占 ...

  6. MHA原理

    MHA工作原理 主库挂了,但是主库的binlog都被全部从库接收,此时会选中应用binlog最全的一台从库作为新的主库,其他从主只需要重新指定一下主库即可(因为此时,所有从库都是一致的,所以只需要重新 ...

  7. Summer training #3

    A:给一个包含字母 加号 括号的序列 要求你删除多余的括号然后输出 (待改) #include <bits/stdc++.h> #include <cstring> #incl ...

  8. KMP算法详解&&P3375 【模板】KMP字符串匹配题解

    KMP算法详解: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt(雾)提出的. 对于字符串匹配问题(such as 问你在abababb中有多少个 ...

  9. 《Python基础教程》第一章:基础知识

    如果希望只执行普通的除法,可以在程序前加上以下语句:from __future__ import division.还有另外一个方法,如果通过命令行运行Python, 可以使用命令开关-Qnew.此时 ...

  10. UVa101 The Blocks Problem(不定长数组vector)

    The Blocks Problem 书上的一道例题,代码思路比较清晰,可以看懂. 相关知识: 若a是一个vector,则: a.size():读取它的大小 a.resize():改变大小 a.pus ...