场景

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包的更多相关文章

  1. 【Maven】2.使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库

    参考文章: http://www.cnblogs.com/luotaoyeah/p/3791966.html --------------------------------------------- ...

  2. 使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库

    1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库 ...

  3. 【项目相关】MVC中使用WebUploader进行图片预览上传以及编辑

    项目中需要用到多图片上传功能,于是在百度搜了一下,首先使用了kissy uploader,是由阿里前端工程师们发起创建的一个开源 JS 框架中的一个上传组件...但,后面问题出现了. 在对添加的信息进 ...

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

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

  5. SpringMVC中采用简洁的配置实现文件上传

    文件上传我们一般会有两种策略,一种是通过IO流上传,还有一种是通过表单上传,其实这两种在客户端实现起来都是很简单的,在服务端处理会略有差别,个人感觉IO上传代码简单,但是也有很多硬伤,还是表单上传更合 ...

  6. 项目分享五:H5图片压缩与上传

    一.简介 图片的压缩与上传,是APP里一个很常用的功能.我们来年看 ChiTuStore 是怎样做的.相关文件 App/Module/User/UserInfo.html,App/Module/Use ...

  7. vue项目富文本编辑器vue-quill-editor之自定义图片上传

    使用富文本编辑器的第一步肯定是先安装依赖 npm i vue-quill-editor 1.如果按照官网富文本编辑器中的图片上传是将图片转为base64格式的,如果需要上传图片到自己的服务器,需要修改 ...

  8. WordPress Import 上传的文件尺寸超过php.ini中定义的upload_max_filesize值--&gt;解决方法。

    參考一: WordPress Importer上传导入备份文件时遇到这样一个错误,提示"上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值". ...

  9. 解决wordpress上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值。

    上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值. 解决方法:修改/etc/php5/apache2/php.ini文件中的 post_max_size = 6 ...

随机推荐

  1. PyTorch最佳实践,怎样才能写出一手风格优美的代码

    [摘要] PyTorch是最优秀的深度学习框架之一,它简单优雅,非常适合入门.本文将介绍PyTorch的最佳实践和代码风格都是怎样的. 虽然这是一个非官方的 PyTorch 指南,但本文总结了一年多使 ...

  2. 使用Docker测试静态网站

    参考书籍 :第一本docker书[澳]James Turnbull  1.Sample网站的初始Dockerfile 文件目录如下: Dockerfile文件代码: 安装nginx 在容器中创建一个目 ...

  3. luogu P1650 田忌赛马 |贪心

    题目描述 我国历史上有个著名的故事: 那是在2300年以前.齐国的大将军田忌喜欢赛马.他经常和齐王赛马.他和齐王都有三匹马:常规马,上级马,超级马.一共赛三局,每局的胜者可以从负者这里取得200银币. ...

  4. [TimLinux] myblog 数据表格显示

    1. 设计 2. 数据 创建数据库用户: CREATE USER IF NOT EXISTS 'user1'@'MyBlogPwd123'; GRANT ALL ON d1.* TO 'user1'@ ...

  5. UESTC-1964命运石之门(类似SPFA的BFS)

    命运石之门 Time Limit: 1000 MS     Memory Limit: 256 MB Submit Status "这一切都是命运石之门的选择!" 凶真博士发明了能 ...

  6. Python计算IV值

    更多大数据分析.建模等内容请关注公众号<bigdatamodeling> 在对变量分箱后,需要计算变量的重要性,IV是评估变量区分度或重要性的统计量之一,python计算IV值的代码如下: ...

  7. FPGA_VIP_V101 摄像头视频采集 调试总结之SDRAM引起的水平条纹噪声问题

    FPGA_VIP_V101 摄像头视频采集 调试总结之SDRAM引起的水平条纹噪声问题 此问题困扰我很近,终于在最近的项目调整中总结了规律并解决了. 因为之前对sdram并不熟悉,用得也不是太多,于是 ...

  8. 【树莓派】制作启动SD卡

    版权声明:本文为博主原创文章,转载请注明出处. https://www.cnblogs.com/YaoYing/ 下载烧写软件 烧写软件 将下载的压缩文件解压缩并安装到电脑上 下载树莓派镜像 树莓派系 ...

  9. MySQL的安装、启动和基础配置 —— linux版本

    环境和资源地址 *** centos 7 *** http://repo.mysql.com/yum/mysql-5.6-community/ 安装 安装方式一(在线安装): # 查看和mysql有关 ...

  10. AWS re:Invent 2019参会有感

    感谢AWS方面的邀请,以及公司给予的机会,近期有幸赴美参与了享有盛名的AWS re:Invent大会.会议期间自己还算勤勉,参加了尽可能多的session.现笔者也已回到国内,交个作业,写一篇短文作为 ...