Maven之Nexus搭建私服

http://www.sonatype.org/nexus/

http://www.sonatype.org/nexus/archived

https://www.sonatype.com/

下载Zip文件

以nexus-2.8.0-bundle.zip为例

解压进入bin/jsw/目录 选择对应操作系统

右键以管理员身份运行install-nexus.bat和start-nexus.bat

访问http://localhost:8081/nexus/能打开则表示安装成功

8081为默认的端口号,要修改端口号可打开/conf/nexus.properties文件

修改application-port属性值即可

点击右上角登录按钮进行登录

默认的用户名和密码:admin/admin123

新搭建的neuxs环境只是一个空的仓库,需要配置索引文件,有2种方式

一.手动更新

1.  下载索引文件

在http://repo.maven.apache.org/maven2/.index/ 中下载

nexus-maven-repository-index.gz

nexus-maven-repository-index.properties

然后再下载一个indexer-cli-5.1.0.jar

indexer的下载地址:http://maven.outofmemory.cn/org.apache.maven.indexer/indexer-cli/5.1.0/

indexer的Maven

<dependency>

    <groupId>org.apache.maven.indexer</groupId>

    <artifactId>indexer-cli</artifactId>

    <version>5.1.0</version>

</dependency>

2.   解压缩索引文件

将上面三个文件(.gz & .properties & .jar)放置到同一目录下,运行如下命令

java -jar indexer-cli-5.1.0.jar -u nexus-maven-repository-index.gz -d indexer

3.   停止nexus

4.   删除原有的索引文件

将{nexus_home}\sonatype-work\nexus\indexer\central-ctx下的文件全部删掉

5.   拷贝索引至central-ctx目录下

将nexus-maven-repository-index.gz解压后的indexer目录中所有文件,放到sonatype-work\nexus\indexer\central-ctx下面

6.   启动nexus即自动更新索引

二.自动下载

1.  打开Repositories标签,选中远程仓库并打开Configuration,将Download Romote Location 设置为true;

2. 在远程仓库上右键选择Update Index,Nexus会自动建立一条任务计划;一般远程仓库都比较大,构建会比较多,索引文件会很大,像http://repo1.maven.org/maven2 就有几百M,因此需要的时间就比较长。

3.  可以进入Scheduled Tasks查看任务的执行情况,当执行完成时,远程仓库的索引就已经建立完毕了。

两种方式,只要Browse_Index后看到许多文件的话就说明更新成功

在左边菜单栏里面有个Artifact Search, 在输入框里面输入你想要搜索的名字,比如:spring

maven 私服的setting.xml配置

<servers>
      <server>
      <id>nexus-releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>nexus-snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>

  <mirrors> 
    <mirror> 
      <id>nexus-releases</id> 
      <mirrorOf>*</mirrorOf> 
      <url>http://localhost:8081/nexus/content/groups/public</url> 
    </mirror>
    <mirror> 
      <id>nexus-snapshots</id> 
      <mirrorOf>*</mirrorOf> 
      <url>http://localhost:8081/nexus/content/groups/public-snapshots</url> 
    </mirror> 
  </mirrors> 
 
  <profiles>
   <profile>
      <id>nexus</id>
      <repositories>
        <repository>
          <id>nexus-releases</id>
          <url>http://nexus-releases</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>nexus-snapshots</id>
          <url>http://nexus-snapshots</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
         <pluginRepository>
                <id>nexus-releases</id>
                 <url>http://nexus-releases</url>
                 <releases><enabled>true</enabled></releases>
                 <snapshots><enabled>true</enabled></snapshots>
               </pluginRepository>
               <pluginRepository>
                 <id>nexus-snapshots</id>
                  <url>http://nexus-snapshots</url>
                <releases><enabled>true</enabled></releases>
                 <snapshots><enabled>true</enabled></snapshots>
             </pluginRepository>
         </pluginRepositories>
    </profile>
  </profiles>

  <activeProfiles>
      <activeProfile>nexus</activeProfile>
  </activeProfiles>

maven项目的pom.xml配置

<distributionManagement>
        <!-- 两个ID必须与 setting.xml中的<server><id>nexus-releases</id></server>保持一致-->
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/releases</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/snapshots</url>
        </snapshotRepository>
</distributionManagement>

猜你喜欢

转载自www.cnblogs.com/zengnansheng/p/10389604.html