如何将maven镜像 添加 到私有仓库中

如何将maven镜像 添加 到私有仓库中,第1张

Linux版的无需安装,直接解压即可,然后进入bin目录下,运行./nexus start,启动服务

用户界面

在地址栏里输入服务IP地址和8081端口就可以打开用户界面,例如http://192.168.2.1:8081

点Sign In登录管理页面,用户名密码为,admin和admin123

在Repositories页面里显示着,默认已经创建了5个仓库(2个为group),直接可以拿来用,无需再自行创建仓库。

使用方法

搭建Maven私有仓库的主要目的,是为了在团队多人开发时,只要内网的私有仓库有下载过依赖的jar包,就直接从私有仓库获取,不再通过外网的中央仓库,毕竟外网的下载速度实在是太慢了。

在项目的pom.xml或者settings.xml文件里加入一下配置信息(区别,pom.xml是针对当前项目,settings.xml是全局的针对所有项目)

配置信息中的id,name和url跟上图中的仓库对应,type为proxy,说明它只是代理,只能用于下载jar包,不能用于发布项目。

<repositories>

<repository>

<id>maven-central</id>

<name>maven-central</name>

<url>http://192.168.204.132:8081/repository/maven-central/</url>

<layout>default</layout>

<snapshotPolicy>always</snapshotPolicy>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

如果想把自己的项目发布到私有仓库中,可以用另外两个仓库,release和snapshots,至于这两个有啥区别,说白了就是,在版本号后面加“-SNAPSHOTS“”就自动发布到snapshots,不加的话就发布到releases

发布到仓库的命令是mvn clean deploy

<distributionManagement>

<repository>

<id>maven-releases</id>

<name>maven-releases</name>

<url>http://192.168.204.132:8081/repository/maven-releases/</url>

</repository>

<snapshotRepository>

<id>maven-snapshots</id>

<name>maven-snapshots</name>

<url>http://192.168.204.132:8081/repository/maven-snapshots/</url>

</snapshotRepository>

</distributionManagement>

其他使用细节

如果用的是eclipse,在settings.xml的配置如下

<profile>

<id>localMaven</id>

<activation>

<jdk>localMaven</jdk>

</activation>

<repositories>

<repository>

<id>maven-central</id>

<name>maven-central</name>

<url>http://192.168.204.132:8081/repository/maven-central/</url>

<layout>default</layout>

<snapshotPolicy>always</snapshotPolicy>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

</profile>

这时候记得在eclipse里选择对应的profile

(1)配置授权:

在maven的配置文件(这里我直接修改%M2_HOME%/conf/setting.xml文件)中,找到节点,添加两个server配置:

id:必须与项目的pom中配置distributionManagement的中的id相同,唯一表示;

这里的release表示发布release版本的包到release仓库;

snapshot表示发布snapshot版本的包到snapshot仓库;

username:具有私服发布包权限的用户的User ID,具体见私服的权限和用户说明

password:当然是用户的密码。

在项目的pom.xml配置文件中,配置发布的地址信息:

id:与(1)中配置授权时的id一致;

url:私服对应的仓库的url地址。其实,这部分信息在私服仓库子标签页summary可以查看:

配置完成,可以发布你的jar包到私服中了,如果项目的pom.xml中,version属性有SNAPSHOT表示为快照版,则会发布到snapshot仓库中,否则,发布到release仓库中。

注意事项总结:

1、私服不会下载中央仓库的所有jar包,而是下载其索引文件,最终的jar包还是来自中央仓库或第三方仓库;

2、不需要一开始就下载中央仓库的索引文件,该文件很大,而是使用过程中逐渐下载;

3、注意仓库组的概念,一般来说默认的组已经完全够用了,按照需要,可以自己建立需要的仓库。

<distributionManagement>

<repository>

<id>releases</id>

<url>http://192.168.90.120:8081/nexus/content/repositories/releases</url>

</repository>

<snapshotRepository>

<id>snapshots</id>

<url>http://192.168.90.120:8081/nexus/content/repositories/snapshots</url>

</snapshotRepository>

</distributionManagement>

到自己的项目目录底下 运行 mvn clean deploy


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11427176.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存