Maven私服
1.关于中央仓库注意事项
地址: 目前来说: http://repo1.maven.org/maven2/是真正的 Maven 中央仓库的地址,该地址内置在Maven 的源码中,其他的都是镜像。
索引: 中央仓库带有索引文件以方便用户对其进行搜索,完整的索引文件大小约为60M,索引每周更新一次。
黑名单: 如果某个IP 地址恶意的下载中央仓库内容,例如全公司100 台机器使用同一个 IP 反复下载,这个 IP(甚至是 IP 段)会进入黑名单,因此稍有规模的使用Maven 时,应该用Nexus 架设私服。
2.私服的好处
1)缓存Maven 中央仓库的 jar 包,这样不需要每次本地仓库没有 jar 包就无需到中央仓库下载,而是到私服下载。
(可以将私服理解为中央仓库的缓存。)
2)有些公司无法上网,那如何连接中央仓库呢?只需连接私服,而私服能连网到中央仓库。
3)方便公司内部不同团队或者项目共享 jar 包,需要共享jar 包,可以上传到私服,通过私服共享。
3.Nexus 的安装
下载网站:
https://www.sonatype.com/download-oss-sonatype
版本说明:
(1)Nexus OSS ( OSS = Open Source Software)这个版本包含基于Sonatype 开源软件代码的基本功能和以包形式发布为开源的其他功能,免费试用许可证请查看下载后的二进制包。
(2)Nexus Professional Nexus Professional CLM Edition这个是旗舰版,包含了专业版本的所有功能。需要购买许可证。
(3)Nexus Professional Trial试用版,不包含Nexus Professional Nexus Professional CLM Edition所有的功能,官方目前((2015年03月31日))提供14天的试用期,同时安装包是以二进制的实行发布的(查看更多差异信息)。
Nexus 的官网 http://www.sonatype.com/ ,下载 Nexus Repository Manager OSS 2.xx 。资料中已经下载“nexus-2.12.0-01-bundle.zip ”。也可以使用 “nexus-2.x.x.war”直接放置在tomcat 的webapps 目录下。
将该压缩包解压
打开下图所示路径(我的系统为Windows 64位,可根据实际配置进行选择)
可以看到有很多命令,接下来我们逐一解释它们:
(1)console-nexus.bat
控制台启动nexus,双击后可以启动nexus。改启动方式的缺点:关闭窗口后就会停止。
(2)install-nexus.bat
安装Windows服务。以管理员身份运行。可在计算机的服务中查看:
右键,启动服务。
补充:若服务创建错误,需要删除,可在cmd中使用sc delete指令实现删除
按下回车。(若无效,以管理员身份运行尝试)
(3)start-nexus.bat
启动nexus服务。
(4)stop-nexus.bat
停止nexus服务。
提示:(3)、(4)方法通常在(2)的服务中实现
(5)uninstall-nexus.bat
服务卸载。双击后即可卸载本服务。
进入该路径,找到以下文件,即nexus配置文件
# Sonatype Nexus (TM) Professional Version is available from Sonatype, Inc. "Sonatype" and "Sonatype Nexus" are trademarks
# of Sonatype, Inc. Apache Maven is a trademark of the Apache Software Foundation. M2eclipse is a trademark of the
# Eclipse Foundation. All other trademarks are the property of their respective owners.
# # Sonatype Nexus
# ==============
# This is the most basic configuration of Nexus. # Jetty section
application-port=8081 #应用端口
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus #访问名称
nexus-webapp-context-path=/nexus # Nexus section
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF # orientdb buffer size in megabytes
storage.diskCache.bufferSize=4096
在浏览器中访问:http:localhost:8081/nexus,进入nexus主页
点击右上角的Log In登录
nexus有一个默认用户,超级管理员
用户名:admin
密码:admin123
登录后会发现可用功能增多
4.nexus仓库
仓库类别
nexus 里可以配置3 种类型的仓库和组,分别是proxy、hosted、virtual、group。
proxy:是远程仓库的代理。比如说在 nexus 中配置了一个 central repository 的proxy,当用户向这个 proxy 请求一个artifact,这个 proxy 就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。
Hosted:是宿主仓库,用户可以把自己的一些构件,deploy 到 hosted 中,也可以手工上传构件到 hosted 里。比如说 oracle 的驱动程序,ojdbc6.jar,在 central repository 是获取不到的,就需要手工上传到hosted 里。
virtual:也是中央仓库镜像,支持M1 老版本。
Group:是仓库组,在maven 里没有这个概念,是nexus 特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在 pom 中配置多个地址,只要统一配置group 的地址就可以了右边那个Repository Path 可以点击进去,看到仓库中artifact 列表。
中央仓库的默认配置
具体仓库:
3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
Apache Snapshots: 用了代理ApacheMaven 仓库快照版本的构件仓库
Central: 用来代理maven 中央仓库中发布版本构件的仓库
Central M1 shadow: 用于提供中央仓库中M1 格式的发布版本的构件镜像仓库
Releases: 用来部署管理内部的发布版本构件的宿主类型仓库
Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库
可上传第三方jar包
Releases和Snapshot的区分:
公司内部或组织内部的包通常放在这两个仓库。
Releases是发布版本,Snapshot是临时版本/快照版本
这两个都用于内部团队的共享
5.实际开发中使用频率较高的仓库:
(1)Public Repositories
maven项目可以连接这个组,然后从组里面的每一个仓库搜索相应的jar包。
(2)3rd party
用于上传第三方的jar包。如Oracle的相关jar包。
(3)Releases
(4)Snapshots
Maven私服的更多相关文章
- maven私服搭建
一.软件安装 地址:http://www.sonatype.org/nexus/thank-you-for-downloading/?dl=tgz 解压: 启动: >> nexus sta ...
- maven私服搭建(centOS6.5)
maven的好处和私服的应用本文不赘述,私服搭建如下: MAVEN 私服搭建(centOS 6.5 环境) 1. 准备环境,搭建centOS6.5系统环境,略 2. 准备对应的软件包如下: A. ...
- Centos 基础开发环境搭建之Maven私服nexus
hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件 ...
- 搭建Maven私服-续
前几天搭建了Maven私服,但是想在外网访问只能通过ip地址,因为公司用的不是固定ip所以,ip地址每次不一样,都要先打开极路由查看一下当前ip才能用,更恶心的是,代码check out只能一次,下次 ...
- 搭建Maven私服
最近从SVN下载的代码,在本地构建时出现了诸多问题,部分依赖下载超时,就想起在局域网搭建Maven私服,废话不说了,在测试服务器上建的已经成功,就随便找台机子再练习一遍顺道写个日志.1.前往http: ...
- Maven私服Nexus3.x环境构建操作记录
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...
- Maven学习 (四) 使用Nexus搭建Maven私服
为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...
- Maven-004-使用 Nexus 搭建 maven 私服
从去年至今,自己一直在学习自动化测试工具,想利用自动化工具尽可能的将重复的.关键的.耗时耗力的工作实现自动化,减轻日常测试工作,提升测试效率.在学习的过程中,将 maven 作为了项目开发管理工具,进 ...
- 使用Nexus创建Maven私服
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问.利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact.Nexus ...
- SONATYPE NEXUS搭建MAVEN私服
1.为什么使用Nexus如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费 ...
随机推荐
- webapi返回泛型给easyui
由于之前遇到的easyui调用webapi的问题. 参见 :http://blog.csdn.net/hanjun0612/article/details/51144991 所以就考虑,封装一个泛型用 ...
- 浅析python日志重复输出问题
浅析python日志重复输出问题 问题起源: 在学习了python的函数式编程后,又接触到了logging这样一个强大的日志模块.为了减少重复代码,应该不少同学和我一样便迫不及待的写了一个自己的日 ...
- 学习Spring Boot:(二十三)Spring Boot 中使用 Docker
前言 简单的学习下怎么在 Spring Boot 中使用 Docker 进行构建,发布一个镜像,现在我们通过远程的 docker api 构建镜像,运行容器,发布镜像等操作. 这里只介绍两种方式: 远 ...
- Azure Powershell script检测登陆并部署ARM Template
本文简单提供了一个Azure powershell脚本,能实现如下功能 Azure (China)账户是否已经登陆了,如果没登陆,会提示你登陆. 要创建的资源组是否存在,存在的话不再创建,直接部署te ...
- 【CH5105】cookies 贪心+DP
通过邻项交换法可知,怨气值大的孩子分得的饼干数也应该多(否则交换之后得到的解更优). 观察目标函数的性质,可知目标函数本身是由孩子饼干数的相对大小得到,因此此题中关注的是相对大小. 状态设计:\(dp ...
- 逆元&欧拉函数
欧拉函数: φ(p)表示小于p的正整数中与p互质的数的个数,称作欧拉函数. 求单个数的欧拉函数时可以利用来求 其中pi为p分解出的质因数,ki表示该质因数的指数 代码: #include<cst ...
- 获取CPU序列号、网卡MAC地址、硬盘序列号
<pre name="code" class="csharp"> using System; using System.Collections; u ...
- Python协程笔记 - yield
生成器(yield)作为协程 yield实际上是生成器,在python 2.5中,为生成器增加了.send(value)方法.这样调用者可以使用send方法对生成器发送数据,发送的数据在生成器中会赋值 ...
- CodeForces912E 折半+二分+双指针
http://codeforces.com/problemset/problem/912/E 题意·n个质数,问因子中只包含这其中几个质数的第k大的数是多少 最显然的想法是暴力搜预处理出所有的小于1e ...
- TCP详解——传输控制协议(总述)
初次熟读TCP,随着TCP的发展路线对他深入了解,真心觉得TCP协议的美妙之处.他比UDP这家伙更加可靠,深得我们信任.通过一个个英文简写,例如CRC.ARQ.RTT.ACK.SACK.DACK等,组 ...