码迷,mamicode.com
首页 > 其他好文 > 详细

maven nexus 私服

时间:2015-04-06 19:03:37      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

Nexus 有两种安装包,包含Jetty容器的Bundle包;不包含Web容器的War包。

Bundle包自带Jetty容器,可直接启动,解压缩到指定路径

技术分享


访问相对应的链接即可: http://127.0.0.1:8081/nexus
技术分享

端口冲突的解决方案为: /conf/plexus.properties 文件,application-port 属性,修改即可,重启生效。

下载Maven仓库索引的方式,此处仅介绍自动下载索引的方式:
          索引文件的路径是在  %Nexus_Home%\sonatype-work\nexus\indexer\central-ctx 部分的

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

技术分享


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

技术分享


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

技术分享


3.这个自动下载过程是一个漫长的等待,等任务消失后说明已经下载成功,这时可以在下面页面中点击center
接着点击Browse Index如果已经有了,说明下载完毕。

上面说的这些更新方式,速度太慢,而且由于国内的网络问题,有些环境下是直接可以忽略上面的更新缓存方式的,下面介绍一中离线更新的方式(GXPT 环境搭建):

访问   http://repo.maven.apache.org/maven2/.index/  下载中心仓库最新版本的索引文件,我们只需要下载如下两个文件即可,这两个文件一般都处于列表的最下面,:
nexus-maven-repository-index.properties  
nexus-maven-repository-index.gz
接下来就是解压缩这两个文件,解压方式比较特别,下载一个jar包 indexer-cli-5.1.1.jar  将这三个文件置于同一个文件路径下,运行 

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

可以发现indexer文件夹下出现了很多文件,将这些文件放置到{nexus-home}/sonatype-work/nexus/indexer/central-ctx目录下,重新启动nexus。

PS: 
知乎上面有这样的一种解释方案:
1:第一次update时大概会下载100多MB的东西,可能要等上10几分钟。
首先可以看下central-ctx文件夹大小(<nexus>/sonatype-work/nexus/indexer/central-ctx),我的大概有962MB,如果文件夹大小很小的话说明还没有下载完。
下载过程中,临时文件是放在tmp目录中的(<nexus>/sonatype-work/nexus/tmp),
看看tmp目录下有没有类似这样的文件夹:
  • nexus-maven-repository-index.gz7642565033310927878.dir
  • central-tmp-ctx8523230095898301314.tmp
有就表明正在下载中,下载过程中这个文件夹大小会达到2个多GB,下载完会自动删除。

如果实在不行,可以把整个nexus工作目录(<nexus>/sonatype-work/nexus/)删除再试。

Maven 项目 pom.xml 部分,配置Nexus仓库
<!-- Nexus 私服配置 -->
        <!-- <repositories>
              <repository>
                     <id> nexus</id>
                     <name> Nexus</name>
                      <url>http://localhost:8081/nexus/content/groups/public/</url>
                     <releases><enabled>true</enabled></releases>
                     <snapshots><enabled>true</enabled></snapshots>
              </repository>
       </repositories>
       <pluginRepositories>
              <pluginRepository>
                     <id> nexus</id>
                     <name> Nexus</name>
                      <url>http://localhost:8081/nexus/content/groups/public/</url>
                     <releases><enabled>true</enabled></releases>
                     <snapshots><enabled>true</enabled></snapshots>
              </pluginRepository>
       </pluginRepositories> -->



技术分享


本地进行测试,pom.xml里面增加代码段(如下),查找相对应的 Nexus路径&&本地Mmaven路径,能够发现相对应的文件时下载到私服里面,之后下载到本地存储的。

<dependency>
  <groupId >com.googlecode.guice-junit4 </groupId>
  <artifactId >guice-junit4-spring-transactional </artifactId>
  <version >0.2 </version>
</dependency>






maven nexus 私服

标签:

原文地址:http://my.oschina.net/alexgaoyh/blog/396532

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!