使用Maven进行项目的声明周期管理,方便对项目依赖和插件进行管理,同时便于项目的统一管理,提升项目开发效率。但是实际工作中会有以下问题:
1 因为安全考虑,有些公司不给开发人员提供外网。因此不能使用maven访问远程的仓库地址。
2 大家同时上网,导致网速比较慢,maven下载构件效率比较低。
3 由于版权的问题,有些第三方jar包无法从远程仓库下载。
4 有些jar包是公司内部使用的,自然也无法从远程maven仓库下载。
怎么办呢?
使用Nexus搭建私服
所谓私服,是一种特殊的远程服务器,代理广域网上的远程仓库,供局域网内Maven用户使用。Nexus就是其中一种。
需要下载maven构件时候, 先从私服请求,不存在则从外部远程仓库下载,缓存到私服后供下载。
对于 一些无法从外部下载的构件,就可以上传到私服供下载使用。
一 下载安装
地址 http://www.sonatype.com/download-oss-sonatype
环境 win32 选择版本:nexus-2.13.0-01-bundle.tar.zip
解压安装
访问http://localhost:8081/nexus/ 启动后如下页面,在右上角有个Log in 的超链接,点击登录
默认的用户名是 admin 密码是 admin123
Public Repositories: 仓库组
3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库
Central: 用来代理maven中央仓库中发布版本构件的仓库
Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库
Releases: 用来部署管理内部的发布版本构件的宿主类型仓库
Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库
二 IntelliJ IDE使用私服配置
找到maven的安装目录 D:\JetBrains\IntelliJ IDEA 14.1.5\plugins\maven\lib\maven3\conf
修改setting.xml 添加如下:
central * Central Repository http://192.168.1.7:8081/nexus/content/groups/public/
修改 工程设置,一定要把user setting file 钩给勾上 . OK 工程无需其它配置 就可以使用私服了
三上传构建到私服
直接用 idea 中的 deploy按钮就可以将 打好的 jar 包或者 war包上传到 私服中 (install 是将jar包 拷贝到本地仓库)
maven setting.xml 添加如下配置:
nexus-releases admin admin123 nexus-snapshots admin admin123
工程pom.xml 添加如下配置:
nexus-releases Nexus Release Repository http://192.168.1.7:8081/nexus/content/repositories/releases/ nexus-snapshots Nexus Snapshot Repository http://192.168.1.7:8081/nexus/content/repositories/snapshots/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。