[maven] 使用Nexus创建maven私有仓库
1、为什么需要maven私有仓库?
从Maven中央仓库下载所需的jar包,需要外网的支持。如果公司不能上外网的话则不能从中央仓库下载所需jar包,公司网速慢的时候也会影响项目构建的速度。用户可以用nexus创建私有的maven仓库。
2、下载和部署Nexus
首先下载nexus,下载地址是http://www.sonatype.org/nexus/go 在此页面可以下载最新版本的Nexus,可以下载zip包也可以下载war包。需要注意的是两种包的部署方式不一样。
zip包部署方式
a.把zip包解压到指定路径如“D:\workbase” b.运行cmd然后进入“D:\workbase\nexus-2.6.0-05\bin”路径 c.然后运行nexus.bat install命令安装nexus d.然后运行nexus.bat start命令启动nexus
其他命令有nexus.bat stop停止 nexus.bat restart重启 nexus.bat uninstall卸载
war包部署方式
直接把war包放到tomcat的webapp下,启动tomcat即可。
在浏览器地址栏输入http://localhost:8088/nexus/即进入nexus首页。有管理nexus要以管理员身份登录,点击首页右上角的login输入默认登录名、密码admin/admin123即可登录。
注意与jdk的版本搭配
官方下载的最新版本是2.6.0-05,jdk1.6版本启动nexus有错误不能启动,错误如下:
Launching a JVM...
jvm 5 | java.lang.UnsupportedClassVersionError: org/sonatype/nexus/bootstrap/jsw/JswLauncher : Unsupported major.minor version 51.0
在官网下载早期版本的Nexus如2.4.0替换掉即可。
登录系统后点击左侧菜单栏Views/Repositories下的Repositories选择Central仓库点击下边的Configuration把Download Remote Indexes属性设为True保存即可。
点击Repositories ,可以看到仓库列表,包括下面几种:
Public Repositories 仓库组
3rd part 三方库,可以上传jar包到这个仓库
Central maven中心仓库
Releases 自己项目中发布的构建
Snapshots trunk 下开发一个项目
然后在Central仓库上右键然后点击Repair Index 即可下载中心仓库的索引文件,稍等几分钟点击下边的Browse Index即可看见下载的索引文件。
往Public Repositories中添加Central仓库,点击Public Repositories在Configuration选项卡中把Central移到左侧即可。
最后在自己的应用中把中心仓库配置成建立的私有仓库地址即可,修改本地的maven配置文件,C:\Documents and Settings\用户名\.m2\setting.xml
在mirrors添加mirror节点地址指向建立的私有仓库地址,mirrorOf属性值设为central为了覆盖超级pom中指定的central地址,如下
Maven 仓库
Maven 包集中存放的地方,就是 Maven 仓库。这些仓库,可以是放在本地,也可以放在某个远程服务器上。 可以是私有仓库,也可以是公开的。
- 存在本地的
maven { url 'file:///Users/my-user-name/Documents/Android/repo/' }
- 存在内网服务器的
maven { url 'http://192.168.99.100:8081/content/repositories/releases/' }
- 存在某个远程服务器的
maven { url 'https://raw.githubusercontent.com/liaohuqiu/umeng-libs/master/repository' }
附录:Maven仓库地址收录
公有的仓库
http://repo1.maven.org/maven2/
http://repository.jboss.com/maven2/
http://repository.sonatype.org/content/groups/public/
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/acegisecurity/
私有的仓库
http://repository.codehaus.org/
http://snapshots.repository.codehaus.org/
http://people.apache.org/repo/m2-snapshot-repository
http://people.apache.org/repo/m2-incubating-repository/