Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包
场景
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. -Dpackaging=jar -Dfile=C:\Users\Administrator\Desktop\kaptcha-2.3..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包的更多相关文章
- 【Maven】2.使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库
参考文章: http://www.cnblogs.com/luotaoyeah/p/3791966.html --------------------------------------------- ...
- 使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库
1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库 ...
- 【项目相关】MVC中使用WebUploader进行图片预览上传以及编辑
项目中需要用到多图片上传功能,于是在百度搜了一下,首先使用了kissy uploader,是由阿里前端工程师们发起创建的一个开源 JS 框架中的一个上传组件...但,后面问题出现了. 在对添加的信息进 ...
- 在EasyUI项目中使用FileBox控件实现文件上传处理
我在较早之前的随笔<基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用>Web框架介绍中介绍了基于Uploadify的文件上传操作,免费版本用的是J ...
- SpringMVC中采用简洁的配置实现文件上传
文件上传我们一般会有两种策略,一种是通过IO流上传,还有一种是通过表单上传,其实这两种在客户端实现起来都是很简单的,在服务端处理会略有差别,个人感觉IO上传代码简单,但是也有很多硬伤,还是表单上传更合 ...
- 项目分享五:H5图片压缩与上传
一.简介 图片的压缩与上传,是APP里一个很常用的功能.我们来年看 ChiTuStore 是怎样做的.相关文件 App/Module/User/UserInfo.html,App/Module/Use ...
- vue项目富文本编辑器vue-quill-editor之自定义图片上传
使用富文本编辑器的第一步肯定是先安装依赖 npm i vue-quill-editor 1.如果按照官网富文本编辑器中的图片上传是将图片转为base64格式的,如果需要上传图片到自己的服务器,需要修改 ...
- WordPress Import 上传的文件尺寸超过php.ini中定义的upload_max_filesize值-->解决方法。
參考一: WordPress Importer上传导入备份文件时遇到这样一个错误,提示"上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值". ...
- 解决wordpress上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值。
上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值. 解决方法:修改/etc/php5/apache2/php.ini文件中的 post_max_size = 6 ...
随机推荐
- ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务
[摘要] docker很好用,但是在GPU服务器上使用docker却比较复杂,需要一些技巧,下面将介绍一下在ubuntu16.04环境下的GPU-docker环境搭建过程. 第一步: 删除之前的nvi ...
- J.U.C剖析与解读2(AQS的由来)
J.U.C剖析与解读2(AQS的由来) 前言 前面已经通过实现自定义ReentrantLock与自定义ReentrantReadWriteLock,展示了JDK是如何实现独占锁与共享锁的. 那么实际J ...
- 记录我的 python 学习历程-Day03 列表/元组/rang
一.列表初识 列表是 Python 的基础数据类型之一,它是以''[ ]''的形式括起来的,每个元素用","隔开,属于容器型数据类型,他可以存放大量的.各种类型的数据. 基本格式 ...
- 借 redis cluster 集群,聊一聊集群中数据分布算法
Redis Cluster 集群中涉及到了数据分布问题,因为 redis cluster 是多 master 的结构,每个 master 都是可以提供存储服务的,这就会涉及到数据分布的问题,在新的 r ...
- python优势之通过一段代码来了解python的强大之处
晚上闲暇之余随意翻了一下博客,看到https://www.jianshu.com/p/69bf0ed0b5cc作者提到了一段代码,刚开始看没啥感觉,仔细深入后引起了我的注意.里面使用了python最简 ...
- 使用g++编译器扩大程序可用栈空间
如题,在写一些程序的时候我们有时会开一个比较大的数组或进行层数较多的dfs.这时候,程序常常会报错,于是就很无奈. 其实,虽然Windows给程序的默认栈空间比较小,我们还是有办法去扩大这个程序运行栈 ...
- VMware“该虚拟机似乎正在使用中”
问题现象: 在用VMware虚拟机的时候,有时会发现打开虚拟机时提示"该虚拟机似乎正在使用中.如果该虚拟机未在使用,请按"获取所有权(T)"按钮获取它的所有权.否则,请按 ...
- Spring与Shiro整合 加载权限表达式
Spring与Shiro整合 加载权限表达式 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 如何加载权限表达式 我们在上章内容中画了一张图,里面有三个分项,用户 角色 权限: 那 ...
- prometheus动态刷新rule
Prometheus的target是支持动态更新的,例如通过file_sd_configs配置将target放置到yaml文件中,当yaml文件中的内容发生变化时,Prometheus会自动更新自身的 ...
- laravel55
增//save返回true false$res = new member();res->username = 'a';$res->password = 'b';dump($res-> ...