1.nexus 介绍
    是开源的,用该框架架设maven私有服务器
 
2.nexus私服环境搭建
    把nexus.war包放到tomcat的webapps下面
    浏览且登录
    用户名:admin
    密码:admin123
 
3.关于中央仓库注意事项
    地址:目前来说:http:repo1.maven.org/maven2/是正真的maven中央仓库的地址,该地址内置在maven的源码中 其他的都是镜像
    索引:中央仓库带有索引文件以方便用户对其搜索,完整的索引文件大小为60M,索引每周更新一次
    黑名单:如果某个IP地址恶意的下载中央仓库内容,例如全公司100台机器使用一个IP反复下载,这个IP会进入黑名单,因此稍有规模的使用maven时,应该使用Nexus架设私服
 
为什么要使用nexus私服    
1.开发人员过多,是公司IP地址被记录黑名单,无法下载
2.有些项目组没有外网,不能远程访问仓库地址,只能在局域网搭建nexus服务器,开发人员连接这台服务器
 
 
4.nexus仓库 (私有服务器  maven仓库)
    -hosted :宿主仓库,该仓库属于该公司私有的 内部项目的发布仓库
        Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包。
        (1)3rd part :第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去
        (2)snapshot:测试版本、镜像版本   发布内部的SNAPSHOT模块的仓库
        (3)release : 发型的版本 内部的模块中release模块的发布仓库
    -proxy:代理仓库   从远程中央仓库中寻找数据的仓库
        Proxy 代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去 下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。
    -group: 仓库组    : 虚拟的概念  可以包含其它的仓库  组仓库用来方便我们开发人员进行设置的仓库
 
 

5.下载Maven仓库索引 手动下载

首先将索引下载到本地,下载地址:nexus-maven-repository-index.zip http://download.csdn.net/detail/pk490525/6520295

解压索引压缩包,将里面内容全部拷贝

 

关闭当前Nexus私服,打开Nexus目录%Nexus_Home%\sonatype-work\nexus\indexer\central-ctx,首先删除当前目录里所有内容,然后粘贴所下载的索引,最后启动Nexus私服,索引生效。

6.修改Maven配置文件从Nexus下载构件

1) 如果想对操作系统的所有用户统一配置maven,则只需修改maven\conf\setting.xml 文件就可以了,如果只想对用户单独配置maven,只需将conf\setting.xml文件复制到C:\Documents and Settings\Administrator\.m2文件夹下(我这里假设系统装在c盘,用户为Administrator)。
 
2)  打开setting.xml文件,可以看到如下代码:
  1. <!-- localRepository
  2. | The path to the local repository maven will use to store artifacts.
  3. |
  4. | Default: ~/.m2/repository
  5. <localRepository></localRepository>
  6. -->
表示如果不设置localRepository,maven会默认将本地仓库建到/.m2/repository文件夹下。
设置localRepository如下代码所示:<localRepository>F:\myCenterRepository</localRepository>   
 
7.在POM.xml文件中配置Nexus仓库
在项目的pom文件中添加如下代码:

 <repositories>
<repository>
<id>nexus</id>
<name>my-nexus-repository</name>
<url>http://127.0.0.1:8088/nexus-2.9.0/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>my-nexus-repository</name>
<url>http://127.0.0.1:8088/nexus-2.9.0/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
 
8.在setting.xml文件中配置Nexus仓库
1)maven提供了profile来配置仓库信息,如下所示:
    <profiles>
<profile>
<id>myprofile</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
 
2) 激活profile
    <activeProfiles>  
        <activeProfile>myprofile</activeProfile>  
    </activeProfiles>  
 

3)配置镜像

 
    <mirrors>  
        <mirror>     
         <id>nexus</id>      
         <url>http://127.0.0.1:8088/nexus-2.9.0/content/groups/public/</url>     
         <mirrorOf>*</mirrorOf>     
       </mirror>  
     </mirrors>  
 
9 部署构件到Nexus仓库

maven部署

1) 修改pom文件

在pom文件中添加如下配置:

Xml代码  
  1. <distributionManagement>
  2. <repository>
  3. <id>my-nexus-releases</id>
  4. <url>http://127.0.0.1:7788/nexus/content/repositories/releases/</url>
  5. </repository>
  6. <snapshotRepository>
  7. <id>my-nexus-snapshot</id>
  8. <url>http://127.0.0.1:7788/nexus/content/repositories/snapshots/</url>
  9. </snapshotRepository>
  10. </distributionManagement>
 2)在setting.xml文件中添加认证信息:
Xml代码  
<servers>
<server>
<id>my-nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>my-nexus-snapshot</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
 上面的配置中我用的是超级管理员的账户,开发项目中可以改为具有部署构件权限的用户就可以了。

3)执行部署

测试的构件项目信息如下:

Xml代码  
    <groupId>com.ez</groupId>
<artifactId>TestJar</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>TestJar</name>

从上面的信息中可以看出构件为发布版本,所以部署构件的话会自动部署至releases仓库中。

在命令行中执行:mvn clean deploy

如果之前没用执行过该命令,maven会自动到中央仓库中下载部署所需的插件。最后在命令行中看到如下所示就代表构件已经部署成功。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Nexus私服的搭建的更多相关文章

  1. maven nexus 私服的搭建学习

    之前对maven有过初步的了解与认识,自己也创建过项目使用其来管理,但都是非常粗浅的操作,今天在高人的指点下,也学着在自己的电脑上搭建一个maven私服,虽然技术难度也不高,但为了更深层次的提高,这些 ...

  2. nexus私服linux搭建问题

    一.最近搭建nexus私服,从官网下载下来总是报503服务器无效,很是无奈,最后在网上找到一个可以用的 收藏起来,这里给大家共享一下 下载地址:http://pan.baidu.com/s/1kT3U ...

  3. window下Nexus私服高级搭建

    环境是:nexus-2.1.1.maven-3.0.4.jdk-1.6.0_32 一.用admin用户登陆nexus nexus的下载和安装都很简单 1.下载 http://www.sonatype. ...

  4. nexus私服的搭建和使用

  5. 【转】nexus Maven 环境搭建

    http://www.cnblogs.com/quanyongan/archive/2013/04/24/3037589.html 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组 ...

  6. Linux_Centos中搭建nexus私服

    1.在Linux下搭建Nexus私服 1).下载并且解压      下载  nexus-2.11.2-03-bundle.zip      unzip nexus-2.11.2-03-bundle.z ...

  7. Window下Nexus私服搭建

    项目组大部分人员不能访问maven的central repository,因此在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上  环境是:nexus-2.1.1.mav ...

  8. Linux 安装配置maven3.0 以及搭建nexus私服

    http://carvin.iteye.com/blog/785365 一.软件准备 1.apache-maven-3.0-bin.tar.gz 下载地址:http://www.apache.org/ ...

  9. 搭建nexus私服(maven)

    这里提供nexus的直接下载页面的链接: https://www.sonatype.com/download-oss-sonatype maven获取依赖jar包是从中央仓库获取,但很莫名的出现jar ...

随机推荐

  1. jQuery总结03

    1 控制网页元素属性和样式的 jQuery 方法有哪些? 2 利用 jQuery 插入网页节点的方法有哪些? 3 jQuery 中绑定事件是什么,如何解除绑定? 4 jQuery 中的动画效果包括哪些 ...

  2. commons-fileupload上传文件(1)

    近期,写一个上传图片的功能.于是用到commons-fileupload这个组件.提过form提交表单到后台(这里没实用到structs框架).在后台List pl = dfu.parseReques ...

  3. poi读取docx中的文字和图片(自己应用)

    poi读取docx中的文字和图片(自己应用) package com.fry.poiDemo.dao; import java.io.File; import java.io.FileInputStr ...

  4. C#遍历DataSet与DataSet元素实现代码

    C#中的Dataset就像一个数据库,有多个表(Table),一般只有一个表,然后每个表中有行(DataRow)和列(DataColumn),DataRow[DataColumn]可以得到某行某列数据 ...

  5. SqlServer 自动备份策略设置

    企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划.并通过启动Sql server Agent来自动运行备份计划.具体步骤如下: 1. ...

  6. Java -JVM:JVM百科

    ylbtech-Java -JVM:JVM百科 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机 ...

  7. Shredding Company(dfs)

    http://poj.org/problem?id=1416 题意:将一个数分成几部分,使其分割的各个数的和最大并且小于所给的数. 凌乱了..参考的会神的代码..orz... #include < ...

  8. 0509 关于Ajax + 三级联动示例

    关于Ajax 1.干什么的? ajax负责抓取用户名信息,传递给服务器进行校验: 2.属性: onreadystatechange:事件,该事件可以感知ajax状态(readyState)的变化.aj ...

  9. python 46 边界圆角 、a_img_list标签 、伪类选择器

    一:边界圆角 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  10. MySQL学习笔记之内连接

    不多说,直接上干货!  MySQL的内连接 #内连接,两个表按照条件匹配 select class1.stuid,class1.stuname,class1.sex,course from class ...