nexus 笔记

    启动Nexus,就是启动一个web服务器,它的默认地址是localhost:8081。Nexus在一个名为Jetty的servlet容器中运行.
    默认的管理员登陆名"admin"及密码"admin123"
    http://127.0.0.1:8081/nexus/index.html
    
配置Maven使用Nexus
        配置Maven去查阅Nexus而非中央Maven仓库,在你的~/.m2/settings.xml文件中添加
        <?xml version="1.0"?>
        <settings>         

<mirrors>
            <mirror>
              <id>Nexus</id>
              <name>Nexus Public Mirror</name>
              <url>http://localhost:8081/nexus/content/groups/public</url>
              <mirrorOf>central</mirrorOf>
</mirrors>

         </settings>
        处理逻辑:将Nexus配置成所有仓库的镜像之后,Maven现在会从本地的Nexus安装查阅,而非去外面查阅中央Maven仓库。        如果对Nexus有一个构件请求,本地的Nexus安装会提供这个构件。如果Nexus没有这个构件,Nexus会从远程仓库获取这个构件,然后添加至远程仓库的本地镜像。
   
    使用Nexus作为快照仓库   

<mirrors>
        <mirror>
          <!--This is used to direct the public snapshots repo in the
              profile below over to a different nexus group -->
          <id>nexus-public-snapshots</id>
          <mirrorOf>public-snapshots</mirrorOf>
          <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
        </mirror>
        <mirror>
          <!--This sends everything else to /public -->
          <id>nexus</id>
          <mirrorOf>*</mirrorOf>
          <url>http://localhost:8081/nexus/content/groups/public</url>
        </mirror>
</mirrors>

代理仓库
        一个代理仓库是对远程仓库的一个代理。默认情况下,Nexus自带了如下配置的代理仓库:
    Apache Snapshots    这个仓库包含了来自于Apache软件基金会的快照版本。http://people.apache.org/repo/m2-snapshot-repository
    Codehaus Snapshots    这个仓库包含了来自于Codehaus的快照版本。 http://snapshots.repository.codehaus.org/
    Central Maven Repository    这是中央Maven仓库(发布版本)。 http://repo1.maven.org/maven2/
    宿主仓库    一个宿主仓库是由Nexus托管的仓库。Maven自带了如下配置的宿主仓库。
    3rd Party    这个宿主仓库应该用来存储在公共Maven仓库中找不到的第三方依赖。这种依赖的样例有:你组织使用的,商业的,私有的类库如Oracle JDBC驱动。
    Releases    这个宿主仓库是你组织公布内部发布版本的地方。
    Snapshots    这个宿主仓库是你组织发布内部快照版本的地方。
    虚拟仓库    一个虚拟仓库作为Maven 1的适配器存在。Nexus自带了一个central-m1虚拟仓库。

       几个重要的代理仓库中都包含了数千(或数万)的构件,下载每个仓库的所有内容是不切实际的。处于这个原因,大部分仓库维护了一个编录了整个内容的 Lucene索引,以提供快速和有效的搜索。Nexus使用这些远程索引搜索构件,但是默认设置我们关闭了索引下载。要下载远程索引:
        1.点击Administration菜单下面的Repositories,更改三个代理仓库的Download Remote Indexes为true。
        2.在每个代理仓库上右击然后选择Re-index。这会触发Nexus下载远程的索引文件。   21MB的中央索引
        Nexus下载整个索引可能需要好几分钟,但是一旦你下载好之后,你就能够搜索Maven仓库的所有内容了。


    仓库ID 仓库ID是将会被用在Nexus URL中的标识符。
        例如,中央代理仓库有一个ID 为"central",这就意味着Maven可以直接在http://localhost:8081/nexus/content/repositories/central访问这个仓库。
    仓库名称
        仓库的显示名称。名称是必需的。
    仓库类型
        仓库类型(代理,宿主,或者虚拟)。你不能改变仓库的类型,在你创建一个仓库的时候它就被指定了。
    仓库策略
        如果一个代理仓库的策略是release,那么它只会访问远程仓库的发布版本构件。如果一个代理仓库的策略是snapshot,它只会下载远程仓库的快照版本构件。
   
部署构件至Nexus在distributionManagement中提供仓库URL,然后运行mvn deploy。Maven会通过一个简单的HTTP PUT将项目POM和构件推入至你的Nexus安装
    部署配置发布版本仓库
    <project>     

<distributionManagement>
        ...
        <repository>
          <id>releases</id>
          <name>Internal Releases</name>
          <url>http://localhost:8081/nexus/content/repositories/releases</url>
        </repository>
        ...
</distributionManagement>

    </project>
    部署配置快照版本仓库   

<project>
      <distributionManagement>
        <snapshotRepository>
          <id>Snapshots</id>
          <name>Internal Snapshots</name>
          <url>http://localhost:8081/nexus/content/repositories/snapshots</url>
        </snapshotRepository>
      </distributionManagement>
</project>

猜你喜欢

转载自zhengchao123.iteye.com/blog/1864770