关于使用Sonatype Nexus 搭建Maven 私服(一)

关于使用Sonatype Nexus 搭建Maven 私服()

1.搭建私服有何好处:

如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

 

2.关于Nexus下载

  下载地址:http://www.sonatype.org/nexus/go,我下载的此版本。

3.Nexus的启动:

    解压刚下载的zip文件,在\nexus-2.14.0-01-bundle\nexus-2.14.0-01\bin\jsw\windows-x86-64会看到如下文件:

  

 

  双击console-nexus.bat,就可以启动Nexus,在浏览器输入http://127.0.0.1:8081/nexus/

  出现如下图所示则证明启动成功。

 

  至于nexus的默认端口在\nexus-2.14.0-01-bundle\nexus-2.14.0-01\conf的nexus.properties中的application-port=8081

   使用默认密码admin/admin123登录如下图所示

4、Nexus仓库

  仓库种类:

  Group: 仓库组

  hosted:宿主

  用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。

  proxy:代理

  如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。  代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉    ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化的处理就更好了。

  virtual:虚拟

  hosted   类型的仓库,内部项目的发布仓库
  releases 内部的模块中release模块的发布仓库
  snapshots 发布内部的SNAPSHOT模块的仓库
  3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去
  proxy   类型的仓库,从远程中央仓库中寻找数据的仓库
  group   类型的仓库,组仓库用来方便我们开发人员进行设置的仓库

  

   Public Repositories: 仓库组

  3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库

  Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库

  Central: 用来代理maven中央仓库中发布版本构件的仓库

  Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库

  Codehaus Snapshots: 用来代理CodehausMaven 仓库的快照版本构件的仓库

  Releases: 用来部署管理内部的发布版本构件的宿主类型仓库

 

posted @ 2016-10-14 15:02  逆风H2O2  阅读(219)  评论(0编辑  收藏  举报