网上销售平台--私服的搭建(八)

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文件,可以看到如下代码:
    <!-- localRepository    
       | The path to the local repository maven will use to store artifacts.    
       |    
       | Default: ~/.m2/repository     
      <localRepository></localRepository>    
     -->  

表示如果不设置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代码  收藏代码
  <distributionManagement>    
           <repository>    
               <id>my-nexus-releases</id>    
               <url>http://127.0.0.1:7788/nexus/content/repositories/releases/</url>    
           </repository>    
              
           <snapshotRepository>    
               <id>my-nexus-snapshot</id>    
               <url>http://127.0.0.1:7788/nexus/content/repositories/snapshots/</url>    
          </snapshotRepository>    
      </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会自动到中央仓库中下载部署所需的插件。最后在命令行中看到如下所示就代表构件已经部署成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值