`
elfkingw
  • 浏览: 11181 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

搭建maven私服 --Nexus

 
阅读更多

1.什么是sonatype Nexus

     大家都知道manven中央仓库,在使用maven的时候,你的项目需要的构建需要先从本地仓库(安装maven的时候会自动仓健在C:\Users\Administrator\.m2\repository -windows7)去找,本地找不到,maven会自动从中央仓库去找并下载到本地仓库。Sonatype Nexus就是代替中央仓库的一个本地maven仓库服务器,Nexus其实就是一个搭建在本地一个仓库管理服务器。当你搭建好Nexus仓库服务器后,项目可以从中央仓库获取构建转到从Nexus上获取构建。

 

2.为什么用sonatype Nexus

        至于Nexus的优点网上有很多,这里就不累述了,大体是如下几点:

        1.加速构建(从Nexus下载构建是局域网之间的通讯);

        2.节省宽带;

        3.不依赖外网的中央仓库就可以轻松团队协作(如果你的工作环境不能上外网);

       4.能够部署第三方构建(各种付费的构建在中央仓库是找不到,这里可以创建);

       5.可以仓健本地内部构建;

       6.安装使用简单;

 

3.安装Nexus

   下载 地址:http://www.sonatype.org/nexus/go

   下载完,解压缩后可以看到两个文件夹,一个是nexus-2.5.0,另一个是sonatype-work,我们只需要将nexus-2.5.0拷贝到需要安装的路径即可,比如在我的机器上,我copy到了D:\目录下,sonatype-work可以不拷贝。

很简单,这就安装完了。

nexus已经将各个平台的启动脚本都写好了,并分开目录放置,具体可以查看nexus-2.5.0\bin\jsw目录,我的机器是windows32位的,就可以进入到windows-x86-32目录下,点击console-nexus.bat即可启动,启动完成后,访问url:http://localhost:8081/nexus即可看到nexus的页面如果是其他平台,找到对应的目录启动脚本即可

nexus2

 

 

 

 

 

 

 

 

 

 

 

 

4.配置Nexus

 

新搭建的neuxs环境只是一个空的仓库,需要手动和远程中心库进行同步,nexus默认是关闭远程索引下载,最重要的一件事情就是开启远程索引下载。登陆nexus系统,默认用户名密码为admin/admin123。

点击左边Administration菜单下面的Repositories,找到右边仓库列表中的三个仓库Apache Snapshots,Codehaus Snapshots和Maven Central,然后再没有仓库的configuration下把Download Remote Indexes修改为true。如下图

 

 

 

然后在Apache Snapshots,Codehaus Snapshots和Maven Central这三个仓库上分别右键,选择Repari Index,这样Nexus就会去下载远程的索引文件。

 

 

 

 

 

这样设置以后, Nexus会自动从远程中央仓库下载索引文件, 为了检验索引文件自动下载是否生效,可以却换到Browse Index

 

 

 

在左边菜单栏里面有个Artifact Search, 在输入框里面输入你想要搜索的构件名字,比如:maven, 那么查询结果如下:

这里只是简单介绍一下配置,具体问题可以google或者在官网上需求解答

 

 5.如何链接Nexus

      在本地maven仓库路径下C:\Users\Administrator\.m2(Windows7)下settings.xml文件中加入如下:

  配置Nexus仓库管理器访问路径

  <profiles>

  <profile>

<id>dev</id>

<repositories>

<repository>

<id>nexus</id>

<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

<pluginRepositories>

<pluginRepository>

<id>nexus</id>

<url>http://127.0.0.1:8081/nexus/content/groups/public</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</pluginRepository>

</pluginRepositories>

</profile>

 

 </profiles>

  <activeProfiles>

        <activeProfile>dev</activeProfile>

    </activeProfiles>

注意:这样配置后可能还是maven还是默认访问中央仓库,需要配置如下:

<mirrors>

        <mirror>

            <id>nexus</id>

            <mirrorOf>central</mirrorOf>

            <name>nexus mirror.</name>

            <url>http://127.0.0.1:8081/nexus/content/groups/public</url>

        </mirror>

    </mirrors>

 

配置好后maven获取构建会自动从Nexus下获取构建

6.如何将自己的构建发布到Nexus

作为一个团队协同开发一个项目,可能分几个组去完成不同功能模块,每个组的项目是分开的,这样就需要把自己模块的构建快照实时发布到Nexus,其他组可以从Nexus 可以将你最新发布的快照实时同步到本地仓库

要想发布构建到Nexus下需要做如下配置

  1.项目中的pom.xml文件配置下加入如下:

      <distributionManagement>

<repository>

<id>releases</id>

<name>Nexus Release Repository</name>

<url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>

</repository>

<snapshotRepository>

<id>snapshots</id>

<name>Nexus Snapshots Repository</name>

<url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>

</snapshotRepository>

</distributionManagement>

2.在maven本地仓库目录下的settings.xml文件下配置用户名密码

 <servers>

    <server>

      <id>releases</id>

      <username>admin</username>

      <password>admin123</password>

    </server>

    <server>

      <id>snapshots</id>

      <username>admin</username>

      <password>admin123</password>

    </server>

  </servers>

注意:pom.xml的文件id(releases  snapshots) 要settings.xm中Id(releases snapshots)一致,发送发布会失败

3.发布打开mvn命令行,cd到需要发布项目路径下执行 mvn clean deploy 执行成功后会在Nexus下找到对应的快照

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics