Maven精选系列--私库搭建及使用

为什么要使用私库

maven默认去远程中央仓库下载JAR包的,访问国外网络相当慢,如果团队每个人都去下载一遍无疑是网络的浪费,当然也可以添加国内的镜像,如阿里的比较稳定,但如果想添加远程不存在的像第三方公司的JAR包就比较麻烦。

所以,使用私库,第一,开源包只要有一个人下载过其他人就不需要再下载了,直接从私库下载即可。第二,可以用来管理第三方公司的或者远程仓库不存在的JAR包,或者公司不开源的JAR包。

推荐国内稳定的镜像,如阿里的

http://maven.aliyun.com/nexus/content/groups/public/

nexus下载安装

首先去sonatype官网下载nexus包,要下载开源免费版的OSS版,即Open Source Software。

https://www.sonatype.com/nexus-repository-oss

下载最新的3.X的版本,这里以windows为例进行下载。

下载后点击bin目录中的启动文件即可,默认的端口是8081,访问路径是/,也可以去配置文件中修改,这里以默认。

启动后,打开localhost:8081,nexus默认的用户名是admin/admin123

默认安装有以下这几个仓库,在控制台也可以修改远程仓库的地址,第三方仓库等。

Maven配置

修改maven主目录conf/setting.xml配置文件。

添加nexus认证的用户名和密码配置信息。

<servers>

<server>

<id>nexus-releases</id>

<privateKey>admin</privateKey>

<passphrase>admin123</passphrase>

</server>

<server>

<id>nexus-snapshots</id>

<privateKey>admin</privateKey>

<passphrase>admin123</passphrase>

</server>

</servers>

添加mirror镜像

<mirrors>

<mirror>

<id>Nexus</id>

<mirrorOf>*</mirrorOf>

<name>Nexus</name>

<url>http://127.0.0.1:8081/repository/maven-public/</url>

</mirror>

</mirrors>

添加私库

<profiles>

<profile>

<id>Nexus</id>

<repositories>

<repository>

<id>Nexus</id>

<name>Nexus</name>

<url>http://127.0.0.1:8081/repository/maven-public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

<pluginRepositories>

<pluginRepository>

<id>Nexus</id>

<name>Nexus</name>

<url>http://127.0.0.1:8081/repository/maven-public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</pluginRepository>

</pluginRepositories>

</profile>

</profiles>

激活私库

<activeProfiles>

<activeProfile>Nexus</activeProfile>

</activeProfiles>

发布到私库

在pom配置文件中添加

<!-- nexus-releases nexus-snapshots与settings.xml中server下的id对应 -->

<distributionManagement>

<repository>

<id>nexus-releases</id>

<name>Nexus Releases Repository</name>

<url>http://localhost:8081/nexus/content/repositories/releases/</url>

</repository>

<snapshotRepository>

<id>nexus-snapshots</id>

<name>Nexus Snapshots Repository</name>

<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>

</snapshotRepository>

</distributionManagement>

在项目上使用命令mvn deploy打包就能发布到私库。

原文发布于微信公众号 - Java技术栈(javastack)

原文发表时间:2017-07-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张首富-小白的成长历程

Linux route指定静态路由配置

         route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。实现两个不同子网之间的通信,需要一台连接两个...

98930
来自专栏蓝天

Redis集群master选举时长测试

在一台物理机上启动6个Redis实例,组成3主3从集群,端口号依次为:1379 ~ 1384,端口号1379、1380和1384三个为master,端口1379...

11640
来自专栏林冠宏的技术文章

Go 语言,开源服务端代码自动生成 框架 - EasyGoServer

EasyGoServer 作者:林冠宏 / 指尖下的幽灵 腾讯云+社区:https://cloud.tencent.com/developer/user...

39260
来自专栏后端技术探索

Nginx隐藏响应头信息的Server信息和版本信息

在nginx.conf里面加server_tokens off;就可以隐藏版本号。

13230
来自专栏我的博客

SOCKET,TCP/UDP,HTTP,FTP

(一)TCP/UDP,SOCKET,HTTP,FTP简析 TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层: 网络层:IP协议、ICMP协议、A...

37850
来自专栏Android点滴积累

快速搭建一个本地的FTP服务器

快速搭建一个本地的FTP服务器   如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试。 第一步:配置IIS Web服务器 ...

65780
来自专栏我的博客

网络基础知识

l IP地址 每个IP地址都分割成网络号和主机号两部分,便于IP地址的寻址操作。 那怎么区分网络号和主机号? 子网掩码 这个时候就需要子网掩码,子网掩码...

33070
来自专栏从零学习云计算

openshift/origin学习记录(2)——添加Router组件

学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。 本部分是在openshift/orig...

39500
来自专栏Golang语言社区

源目的IP和端口都相同的连接出现的原因

线上遇到了一个比较特殊的连接,它的源目的IP和端口完全相同,复现的场景是:同一个机器上的两个模块A和B通信,A模块会向B模块的监听套接字发起连接请求,B模块重启...

33950
来自专栏Jed的技术阶梯

Linux下使用Nexus创建maven私服

关于系统运行级别以及chkconfig命令的用法参考Linux的运行级别和chkconfig用法

2.6K20

扫码关注云+社区

领取腾讯云代金券