场景

Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/101111611

在上面已经实现部署Nexus后的效果是

为什么要搭建私服

有时合作开发时,为了不泄露源码但是还能允许你调用,或者公司内部自己的依赖jar包,只能在本公司内用,并且再官方中央仓库中没有。类似情况下都需要搭建Maven私服。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

Deploy依赖到私服

配置认证信息

找到Maven的安装目录

conf下的setting.xml中找到server节点。

配置认证节点,因为私服不是谁都能使用,所以需要配置用户名和密码,这里的密码是上面搭建Nexus服务时所设置的密码。

<server><id>nexus-releases</id><username>admin</username><password>admin123</password></server><server><id>nexus-snapshots</id><username>admin</username><password>admin123</password></server>

修改之后,保存。

注:

nexues-releases:用于发布Release版本

nexus-snapshots:用于发布Snapshot版本(快照版),快照版会自动加一个时间作为标识。

配置自动化部署

在项目的pom.xml中加入如下代码:

<distributionManagement><repository><id>nexus-releases</id><name>Nexus Release Repository</name><url>http://192.168.208.134:8081/repository/maven-releases/</url></repository><snapshotRepository><id>nexus-snapshots</id><name>Nexus Snapshot Repository</name><url>http://192.168.208.134:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>

这里是使用IDEA新建的maven项目

注:

1.ID名称要与settings.xml中Servers配置的ID保持一致。

2.项目版本号中有SNAPSHOT标识的,会发布到Nexus Snapshots Respository,否则发布到Nexus Release Repository,并根据ID去匹配授权账号。

3.这里的url是Nexus服务上的url。

部署

打开IDEA下的Ternial,输入:

mvn deploy

可以看到其部署效果

此时刷新Nexus服务的url,找到Browse下的maven-snapshots

部署成功。

然后打开IDEA--settings-maven,然后勾选上总是更新快照。

这样就能用到最新的快照版本。

上传第三方jar包

有时在官方仓库没有的jar包,需要上传到私服上,供大家使用。

mvn deploy:deploy-file -DgroupId=com.google.code.kaptcha -DartifactId=kaptcha -Dversion=2.3.2 -Dpackaging=jar -Dfile=C:\Users\Administrator\Desktop\kaptcha-2.3.2.jar -Durl=http://192.168.208.134:8081/repository/maven-releases/ -DrepositoryId=nexus-releases

命令解释:

-DgroupId=                          自定义
-DartifactId=                        自定义
-Dversion=                          自定义  三个自定义,构成pom.xml文件中的坐标
-Dpackaging=jar                       上传的类型是jar类型
-Dfile=                                  jar的本地磁盘位置
-Durl=                                                                           hosted资源库的地址
-DrepositoryId=nexus-releases                setting.xml文件中配置的ID

上传成功效果

此时再回到浏览器,刷新。

在项目中使用私服jar包

配置代理仓库

在需要从私服中下载jar包的项目的pom.xml中加入如下配置:

<repositories><repository><id>nexus</id><name>Nexus Repository</name><url>http://192.168.208.134:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories><!-- 私服仓库配置:从私服下载--><pluginRepositories><pluginRepository><id>nexus</id><name>Nexus Plugin Repository</name><url>http://192.168.208.134:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories>

为什么是从public进行下载,

因为公共仓库是发行仓库和快照仓库的映射,把两个仓库结合起来。

下面这段代码

<releases><enabled>true</enabled>
</releases>
<snapshots><enabled>true</enabled>
</snapshots>

作用是配置是否依赖发行版和是否依赖快照版。

怎样使用私服jar包。

找到要下载的jar包的坐标配置,加入到pom中,那么就会先从私服去找对应的jar包,然后再去官服去找jar包。

Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包相关推荐

  1. mysql数据库上传ftp服务器中_备份部分mysql表并上传至指定ftp服务器目录中

    防伪码:忘情公子著 前几天领导安排了一个任务,让写一个脚本备份某mysql数据库中的部分表,并要将备份好的文件上传至某ftp服务器中,于是就有了以下的脚本 #!/bin/bash #Filename: ...

  2. Maven之Nexus局域网私服的搭建以及上传下载的测试

    Maven之Nexus局域网私服的搭建 公司在自己的局域网内搭建自己的远程仓库服务器,称为私服,私服服务器即是公司内部的maven远程仓库,每个员工的电脑上安装maven软件并且连接私服服务器,员工将 ...

  3. Linux安装Nexus3搭建maven私服超详细搭建上传步骤

    下载nexus3.x 上传nexus压缩包并解压 启动 开启端口号 浏览器访问 ​编辑 设置开机自启动 运行用户为root (编辑nexus bin下的nexus.rc) 修改nexus3启动时要使用 ...

  4. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

  5. 将本地项目上传到自己的Git仓库中【超级详细+绝不失败最终版】

    文章目录 一.新建一个自己的Git仓库 二.将本地项目上传到自己的Git仓库中 1. 快速步骤分解 2. 图文步骤详解 跟着文章一步一步来, 最后去你的码云仓库刷新一下就有项目内容了 一.新建一个自己 ...

  6. 在EasyUI项目中使用FileBox控件实现文件上传处理

    我在较早之前的随笔<基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用>Web框架介绍中介绍了基于Uploadify的文件上传操作,免费版本用的是J ...

  7. maven使用中央仓库没有的jar包001---Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)

    Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理) 注:如果图片太小,则可以下载查看,CSDN,不提供点击放大! 1:用浏览器登陆nexus服务器 ...

  8. 上传本地项目到gitee_如何使用码云Gitee上传本地项目

    前言 相信很多同学在gitee中上传项目时会遇到了各种小问题,接下来我将介绍一种简单粗暴的方式来上传项目.执行以下步骤之前首先要在本地安装并配置Git并且在gitee中配置SSH公钥,如果不知道如何配 ...

  9. php 输出图片给js,如何在php中利用croppic.js对图片进行剪切并上传

    如何在php中利用croppic.js对图片进行剪切并上传 发布时间:2021-01-30 16:41:02 来源:亿速云 阅读:92 作者:Leah 这篇文章将为大家详细讲解有关如何在php中利用c ...

最新文章

  1. Maven本地缓存清理小工具
  2. 将HTML5 Canvas的内容保存为图片
  3. ASP.NET MVC Music Store教程(2):控制器
  4. 从CentOS6.0i386到CentOS6.6x86-64,搬家中,磕磕跘跘,各种折腾……
  5. 双11个性化推荐背后,阿里云“舜天”如何应对百亿次挑战? 1
  6. JavaScript 特效代码集
  7. anaconda必须安装在c盘吗_Anaconda及tensorflow、pytorch安装记
  8. Java启动sparksql,启动spark-sql报错
  9. Java开发求职总结
  10. 凤凰项目:一个IT运维的传奇故事--阅读心得
  11. 计算机的存储容量1kb表示什么,存储容量1kb等于多少字节
  12. EDP to LVDS转换设计电路|EDP to LVDS转接板电路|Capstone/CS5211芯片电路原理图参考
  13. Calendar自然周
  14. QT 打印中文字符显示C2001:常量中有换行符解决办法
  15. JavaScript-事件之onmousemove
  16. 极限与连续知识点总结_知识点一(极限与连续).doc
  17. Java通过itextpdf生成PDF
  18. 帆软10.0连接oracle 12c rac报错问题解决
  19. java读取docx_java使用poi读取doc和docx文件
  20. linux-原子操作

热门文章

  1. java8使用stream对List列表分组
  2. springboot 的启动流程
  3. python财务预算分析_财码Python管理会计小实验—营运管理之多维度盈利能力分析...
  4. 关于拦截hao123页面广告的自定义规则
  5. vc60如何输入c语言,vc60中如何编译运行及调试c语言程序.pdf
  6. linux不能识别usb,求助:USB无法识别
  7. gpg keys for php 5.5,Fedora解决/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-x86_64问题
  8. matlab 显示多幅图像,运用matlab实现循环语句中的多幅图像显示
  9. php博客添加live2d,在博客中增加自己的live2d纸片人模型方法
  10. application.properties引用其他文件_金橙智能 | C语言头文件组织与包含原则,你知道吗?...