搭建自己的maven私服 必过
教你一步一步搭建自己的maven私服
一、 应用场景
有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。
如果某个IP地址恶意的下载中央仓库内容,例如全公司100台机器使用同一个IP反复下载,这个IP(甚至是IP段)会进入黑名单,因此稍有规模的使用Maven时,应该用Nexus架设私服。总归主要是两点:
1、自己maven私服更容易维护,公司开发从maven私服迁出jar到本地仓库更快
2、有些公司未开放外网给开发人员
一、下载nexus
地址:https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.2-01-bundle.zip
二、启动服务
解压nexus-2.14.2-01-bundle.zip
在bin/jsw下有不同的版本,这里我选择window 64位操作系统的版本。
console-nexus.bat 是以命令窗口的形式启动,关闭后服务停止
install-nexus.bat 是设置开机启动,在服务中可以看成到该服务为开机自动启动(推荐使用这种方式启动)
stop-nexus.bat 是停止服务
uninstall-nexus.bat 是卸载nexus

三、服务配置
启动后输入:http://localhost:8081/nexus 进入在右上角Login登录,初始用户名:admin 密码:admin123 确定你的8081端口没有被占用
1.配置参数,将Download Remote Indexes 设置为true

2、添加第三方jar包
2.1、选择和填写参数(groupId、artifactId、version)都要填写

2.2、选择上传的jar包

3.坑来了 如果你不想每个jar包都手动上传 添加到maven私服的话 这一步必做

四、项目调用方法
1、配置maven的settings.xml文件
1.1、设置jar包保存的本地目录

1.2、设置你搭建的私服地址 注意要在节点mirrors里边
<mirror>
<id>central</id>
<mirrorOf>*</mirrorOf> <!-- * 表示让所有仓库使用该镜像-->
<name>central-mirror</name>
<url>http://192.168.1.73:8081/nexus/content/groups/public/</url>
</mirror>

maven私服到这就搭建完成了 但是私服上的jar需要你一个一个手动添加 如果想自动将jar包和项目包发布到maven私服上 请继续往下看
五、配置maven setting
1.在setting.xml文件中增加用户名和密码配置(特别注意这里的ID、要在server节点中)
<servers>
<!-- 用于发布正式版本 -->
<server>
<id>maven-repository-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<!-- 用于发布快照版本 -->
<server>
<id>maven-repository-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>

六、配置项目的pom.xml
1.注意要在 project节点中 注意这里有坑:上图setting.xml中server节点的id是什么 下图pom.xml中repository节点中的id就是什么
<distributionManagement>
<repository>
<!-- 这里的ID要和setting的id一致 -->
<id>maven-repository-releases</id>
<url>http://127.0.0.1:8081/nexus/content/repositories/thirdparty/</url>
</repository>
<!--这是打成快照版本的配置,如果不用这个snapshotRepository标签,打包失败,会报权限问题 -->
<snapshotRepository>
<id>maven-repository-snapshots</id>
<url>http://127.0.0.1:8081/nexus/content/repositories/thirdparty</url>
</snapshotRepository>
</distributionManagement>

七、将项目发布到maven私服上
1.右键项目 run as → maven build 输入deploy → run


可以看到 项目已经发布到我们搭建的maven中了。OK结束 如有问题欢迎评论或私信!

搭建自己的maven私服 必过的更多相关文章
- Centos7 搭建最新 Nexus3 Maven 私服
Maven 介绍 Apache Maven 是一个创新的软件项目管理和综合工具.Maven 提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文 ...
- Linux 下搭建 Sonatype Nexus Maven 私服
一.为什么需要搭建mave私服 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的 ...
- maven私服搭建(centOS6.5)
maven的好处和私服的应用本文不赘述,私服搭建如下: MAVEN 私服搭建(centOS 6.5 环境) 1. 准备环境,搭建centOS6.5系统环境,略 2. 准备对应的软件包如下: A. ...
- window Maven私服搭建——nexus
注:本文来源于 <window Maven私服搭建--nexus> Maven私服搭建--nexus 1.下载nexus https://www.sonatype.com/downlo ...
- (转)搭建Maven私服(使用Nexus)
搭建私服可以做什么? 1.如果公司开发组的开发环境全部内网,这时如何连接到在互联网上的Maven中央仓库呢? 2.如果公司经常开发一些公共的组件,如何共享给各个开发组,使用拷贝方式吗?如果这样,公共库 ...
- 搭建Maven私服(使用Nexus)
搭建私服能够做什么? 1.假设公司开发组的开发环境所有内网.这时怎样连接到在互联网上的Maven中央仓库呢? 2.假设公司常常开发一些公共的组件.怎样共享给各个开发组.使用拷贝方式吗?假设这样,公共库 ...
- 【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服
前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有 ...
- 使用mvn deploy命令将本地jar包上传到maven私服
记录一下,以后少走弯路 前提:已经搭建好nexus maven私服,地址192.168.110.240:9091 在maven的setting.xml中找到<mirrors></mi ...
- Maven知识记录(一)初识Maven私服
Maven知识记录(一)初识Maven私服 什么是maven私服 私服即私有的仓库.maven把存放文件的地方叫做仓库,我们可以理解成我门家中的储物间.而maven把存放文件的具体位置叫做坐标.我们项 ...
随机推荐
- iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决
最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待 ...
- 怎样把Linux的私钥文件id_rsa转换成putty的ppk格式
在Linux VPS下产生的私钥文件putty是不认识的,putty只认识自己的ppk格式,要在这两种格式之间转换,需要PuTTYgen这个程序. puttygen是putty的配套程序,putty的 ...
- C语言操作符/表达式及其作用总结
一.算术操作符:+ - * / % 1. 除了 %操作符之外,其他的 几个操作符可以作 用于整数和浮点数. 2. 对于"/"操作符如果两个操作数都为整数,执行整数除法.而只要有浮点 ...
- jsp pageEncoding属性详解
Java pageEncoding原理详解 首先看下文章解释: 意思是jsp文件本身的编码 巨大的疑问:这里有一个很大的问题,既然你都已经从jsp中读到了这条属性,证明内容读取正确,那你还需要知道这条 ...
- JavaScript 通过队列实现异步流控制
知乎上面看到一个面试题. 某个应用模块由文本框 input,以及按钮 A,按钮 B 组成.点击按钮 A,会向地址 urlA 发出一个 ajax 请求,并将返回的字符串填充到 input 中(覆盖 in ...
- python全栈学习--day8
一,文件操作基本流程. 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...
- JavaScript(第九天)【正则表达式】
假设用户需要在HTML表单中填写姓名.地址.出生日期等.那么在将表单提交到服务器进一步处理前,JavaScript程序会检查表单以确认用户确实输入了信息并且这些信息是符合要求的. 一.什么是正则表 ...
- c语言-第零次作业
1.你认为大学的学习生活.同学关系.师生应该是怎样?请一个个展开描述. 我很荣幸能考进集美大学.集美大学历史悠久.师资力量雄厚.教师与学生素质高.并且集美大学的学习生活和我理想中的一样!首先老师认真负 ...
- 201621123062《java程序设计》第十周作业总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 思维导图: 2. 书面作业 本次PTA作业题集异常 2.1. 常用异常 结合题集题目7-1回答 2.1.1 自己以前 ...
- bzoj千题计划177:bzoj1858: [Scoi2010]序列操作
http://www.lydsy.com/JudgeOnline/problem.php?id=1858 2018 自己写的第1题,一遍过 ^_^ 元旦快乐 #include<cstdio> ...