了解有限,目前只针对基础功能介绍,持续更新maven
https://www.sonatype.com/download-oss-sonatypeurl
个人Nexus目录:NEXUS_HOME\nexus-3.7.1-02-win64\nexus-3.7.1-02\binspa
最后启动成功提示以下,便可访问http://192.168.1.168:8081/登陆,账号admin 密码admin123命令行
点击导航Browse,这里是全部已经配置的仓库3d
Name:代理
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取JAR包,这个远端地址可改,也可新建另一个调试
maven-releases:私库发行版JARcode
maven-snapshots:私库调试版本JARserver
maven-public:仓库分组,把上面三个仓库组合在一块儿对外提供服务xml
Type:
proxy:代理远端仓库
hosted:本地Jar包
group:仓库组
便于快速查找jar包,导航中选择Search,可选择多种类型的查找方式,好比按名称、按版本、按仓库组等,此功能是模糊查找
点击上方齿轮图标,便可打开配置管理页面,其中Repository栏为仓库管理,下面只针对这里的Blob Stores、Repositories说明
Blob Stores:jar包存放路径,默认存放在NEXUS_HOME/sonatype-work\nexus3\blobs\default下,可建立多个
Repositories:
建立代理仓库Proxy
①选择Create repository建立仓库
②选择仓库类型maven2(proxy)
③设置仓库名称
④设置仓库版本,代理仓库一般设置为releases
⑤配置下载存放路径,默认是Blob Stores的default
⑥配置代理仓库地址,我是用阿里的
以上完成后保存建立便可完成代理仓库的建立
建立本地仓库(第三方、代理仓库中没有的jar都放这里)hosted,重复上面的流程,不一样处以下
②选择仓库类型maven2(hosted)
④设置仓库版本,releases或snapshots,二者区别以下:
有一个本身封装的jar包,该jar包处于开发版,近期会不停的更新,版本为1.0,使用snapshots仓库,从此jar包更新后,只需将新的包传入到该仓库,
项目中会自动下载更新到这个包,无需修改版本号;用releases这个仓库,每次变动jar包必须升级版本号,对应项目pom文件中要修改,不然新的jar包不会被下载
⑥此步改成,目的是能够上传部署jar
建立仓库组group,重复上面的流程,不一样处以下
②选择仓库类型maven2(group)
④设置将哪些仓库归类到一个组里
到如今为止,Nexus仓库部分操做完成
配置中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>
使用方式:直接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