搭建Maven私服
什么是私服
maven分为远程仓库中央仓库,而远程仓库有分为maven中央仓库和其他仓库,中央仓库由maven搭建,而私服则由我们自己搭建
maven私服就是公司局域网内的maven远程仓库,每个员工的电脑上安装maven软件并且连接maven私服,程序员可以将自己开发的项目打成jar并发布到私服,其它项目组成员就可以从私服下载所依赖的jar。私服还充当一个代理服务器的角色,当私服上没有jar包时会从maven中央仓库自动下载。
什么是Nexus
nexus 是一个maven仓库管理器(其实就是一个软件),nexus可以充当maven私服,同时nexus还提供强大的仓库管理、构件搜索等功能。
如何搭建Nexus私服
1.首先下载Nexus
下载地址:https://help.sonatype.com/repomanager2/download/download-archives—repository-manager-oss
但是去官网下载速度很忙,所以我这有百度云,需要的自取,(要是失效了可以留言私信,记得点赞关注哦拒绝白嫖)
链接:https://pan.baidu.com/s/17DgyJKRYilvEaAtjYa0sVQ
提取码:rdtx
2.如何安装私服
将安装包解压到自己想要解压的目录下
打开cmd窗口进入bin目录,记得使用管理员的身份来打开否则权限不够
输入nexus.bat命令
我这里是已经安装过了所以说已经存在
3.启动Nexus
在cmd中输入nexus.bat start启动
访问nexus
1.在浏览器中输入:http://localhost:8081/nexus
2.点击右上角login按钮,用户名为admin 密码为admin123
3.登录成功后点击左侧菜单Repositories可以看到nexus内置的仓库列表
关闭Nexus
在cmd中输入 nexus.bat stop
仓库相关概念的介绍
Nexus的仓库类型
hosted:宿主仓库,部署自己的jar到这个类型的仓库,包括Release和Snapshots两部分,Release为公司内部发布版本仓库
Snapshost为公司的测试版仓库
proxy代理仓库,比如maven中央仓库,用户链接私服,私服自动去中央仓库下载的jar包或则插件
group 仓库组,用来合并多个hosted/proxy仓库,通常我们配置自己的maven连接仓库组
virtual(虚拟):兼容Maven版本的jar或者插件
Maven的仓库类型与对应的安装目录之间的关系
如何将自己的项目发布到Maven私服
maven私服是搭建在公司局域网中的maven仓库,比如在我们进行项目开发的时候,研发技术团队开发了一些基础的组件给我们开发使用,当他们把jar发布到私服上后,我们就可以从maven私服上下载对应的jar到本地仓库,并在项目中使用
将项目发布到私服的步骤
配置maven的settings.xml文件
配置项目中的pom.xml文件
执行mvn deploy命令
如何从私服下载jar到本地仓库
将第三方jar安装到本地仓库和私服
什么先来捋一捋我们在pom.xml中配置jar包的坐标后,maven工具寻找jar的顺序
1.先去本地仓库找,本地仓库没有再去私服找
2.去私服找要是私服中没有就去中央仓库找
3.中央仓库中没有的jar包就需要我们自己去找,然后发布到私服或者上传到本地仓库
我们先来讲讲安装到本地仓库
安装第三方的jar包到本地仓库
1.下载Oracle的jar包
2.mvn install命令进行安装
mvn install:install-file -Dfile=ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 –
Dversion=10.2.0.4.0 -Dpackaging=jar
3.查看本地maven仓库,确认安装是否成
将第三方的jar包安装到私服
下载所需的Oracle的jar包
在maven的settings.xml配置文件中配置第三方仓库的server信息
<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>
4.执行mvn deploy命令进行安装
mvn deploy:deploy-file -Dfile=ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 –
Dversion=10.2.0.4.0 -Dpackaging=jar –
Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty