由于项目组需要,要搭建内部的Maven仓库,借鉴项目组内部及外部同事的经验选用nexus来搭建内部仓库。下面描述一下具体的步骤。 



一、安装配置过程 

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

nexus版本有内嵌Jetty的bundle版本和war版本。内嵌Jetty的bundle版本直接可以独立运行,但由于内部一直用的Tomcat容器,所以选用了war版本。直接放到Tomcat下的webapps目录下即可 



2.安装及配置步骤 

把nexus-2.0.5.war放到Tomcat下的webapps目录,让Tomcat解压。 

修改一下配置\nexus-2.0.5\WEB-INF\plexus.properties。更改nexus存放repository的根目录 

nexus-work=D:/java/MavenRepository/sonatype-work/nexus,原来的是usr.dir我试了一下是在c盘根目录下,我就改到这里了。 



3.配置nexus 

如下图: 



依次登陆,配置Central的Repository。这个是一个proxy类型的Repository,用来代理别的如官方的Repository,能帮你自动下载,我们也可以再添加别的proxy类型的Repository。 

需要注意,改下URL(推荐http://www.mvnsearch.org/maven2/),Download Remote Indexes改为true。 





配置下Release Repository,其中Deployment Policy配置为允许重新部署。这个是本地Repository,主要用来存放组内的jar包的。 



配置3rd Party Repository,也是本地Repository,主要是存放在maven官方下不到的,第三方的jar包。 



配置Public Repository,Repository组。这个主要是给我们用来下载jar包的。把有可能用到的代理或者本地Repository都加进来,全部对外可见。 



4.更新Repository的index 

在更新之前是看不到任意jar包的,要更新下索引才行。右键public repository,更新index。会把public组包含的Repository的索引都更新。(如果更新不了,自己挨个手动更新,再重启容器试试)。更新会比较慢,但不会在前台显示,你可以再后台看看网络流量或者Repository存放目录的index的变化情况。 



5.搜索jar包,如搜索log4j。如果可以搜索到,代表安装,配置,更新索引都成功了。 



二、使用 

1.在maven工程中添加对本地Repository的依赖 

代码如下:优先搜索本地Repository,找不到再去别的地方找

  1. <repositories>
  2. <repository>
  3. </id>
  4. Repository</name>
  5. <url>http://192.168.85.136:28080/nexus-2.0.5/content/groups/public/</url>
  6. </repository>
  7. <repository>
  8. <id>jboss-cache</id>
  9. <name>jboss-cache</name>
  10. <url>http://repository.jboss.org/maven2</url>
  11. </repository>
  12. <repository>
  13. <id>mvnsearch</id>
  14. <name>mvnsearch Maven Repository</name>
  15. <url>http://www.mvnsearch.org/maven2</url>
  16. </repository>
  17. </repositories>

2.把组内共用jar包上传 

两种方式,手动上传,简单就不介绍了,但是要自己填写版本之类的东西 

重点介绍下使用maven上传 



首先,修改maven的配置文件 setting.xml

  1. <settings>
  2. ...
  3. <servers>
  4. <server>
  5. <id>nexus-releases</id>
  6. <username>admin</username>
  7. <password>admin123</password>
  8. </server>
  9. <server>
  10. <id>nexus-snapshots</id>
  11. <username>admin</username>
  12. <password>admin123</password>
  13. </server>
  14. </servers>
  15. ...
  16. </settings>

然后,在项目的pom.xml中加入如下配置。

  1. <project>
  2. ...
  3. <distributionManagement>
  4. <repository>
  5. <id>nexus-releases</id>
  6. <name>Nexus Release Repository</name>
  7. <url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>
  8. </repository>
  9. <snapshotRepository>
  10. <id>nexus-snapshots</id>
  11. <name>Nexus Snapshot Repository</name>
  12. <url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>
  13. </snapshotRepository>
  14. </distributionManagement>
  15. ...
  16. </project>

最后,在命令行运行 mvn deploy即可,注意要把项目生成release,不是snapshot的。 

我的eclipse里没有mvn deploy选项,我就用命令行这种比较笨的方式,但是也比较好使。 



三、个人理解 

1.搭建本地仓库的目的之一是为了节省从官方repository下载jar包的时间(现在从局域网下载) 

2.另外还有一个目的是管理第三方jar包和组内编写的jar包。

用nexus搭建maven2内部服务器的更多相关文章

  1. 使用Nexus搭建Maven内部服务器

    概述         我们在使用maven时,一般通过网络上一些公共的maven仓库来获取jar包,但是有时候会碰到网速比较慢的情况就比较郁闷,Nexus是一个maven的服务器,可以让我们搭建一个本 ...

  2. 用artifactory搭建maven2内部服务器

    访问http://www.jfrog.org/sites/jfrog/index.html 下载最新的zip包(内置jetty) 下载和解压artifactory.目录结构如下: 这些目录是: bac ...

  3. 简单搭建 nuget 内部服务器

    搭建 nuget 内部服务器,最好的方式是使用 ProGet,参考博文<用 ProGet 搭建内部的 NuGet 服务器>,好处非常多,但需要使用 SQL Server 数据库,如果不想使 ...

  4. window7利用Nexus搭建maven私有服务器

    下载地址 https://www.sonatype.com/oss-thank-you-win64.zip: cmd管理员运行命令 nexus.exe/install Nexus Service:(n ...

  5. mac nexus搭建本地maven服务器

    1.在保证安装jdk 1.7+,去nexus官网下载nexus(http://www.sonatype.com/download-oss-sonatype) 最新版本 2.解压zip文件,配置nexu ...

  6. 使用nexus 搭建本地 maven 服务器

    1.下载安装nexus oos https://www.sonatype.com/download-oss-sonatype ,选择2.x 版本. 2. 配置maven <server> ...

  7. Linux (Ubuntu)安装nexus,搭建maven私有服务器

     下载 nexus oos(开源版)https://www.sonatype.com/download-oss-sonatype 2 将下载的压缩包上传到/opt/nexus/文件夹下面 3 解压文件 ...

  8. 通过ProGet搭建一个内部的Nuget服务器

    .NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...

  9. 用Windows Server 2003搭建企业内部邮件服务器

    公司要搭建一个邮件服务器,方便内部邮件的发送.而且要求每位员工都可以使用自己的账号和密码.领导将这份工作交给我,不过,这可难不倒我.只要借助Windows Server 2003就可以轻松建起内部邮件 ...

随机推荐

  1. 吴裕雄--天生自然Linux操作系统:Linux 文件与目录管理

    Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/share/ ...

  2. PAT Advanced 1132 Cut Integer (20) [数学问题-简单数学]

    题目 Cutting an integer means to cut a K digits long integer Z into two integers of (K/2) digits long ...

  3. ios 真机使用相机闪退问题

    需要增加权限 在info文件增加 主要前面的key 后面的cameraDesciption只是一段描述 随便写就可以

  4. 帝国CMS7.5后台美化模板 后台风格修改 帝国CMS后台模板

    都知道帝国CMS功能强悍,生成静态html也非常好用.可是有时候他的后台样式,丑的让你不想用,dede呢,漏洞太多,PHPCMS好看,可是门槛要求高,你会写PHP才行. 帝国CMS后台美化模板:全面美 ...

  5. LAMP环境搭建,防火墙开启,数据库挂载在逻辑卷

    具体要求: 1. 源码部署 LAMP 环境, 和生产保持一致 2. 静态资源文件同步生产环境 3. 需要同时部署 2 个 web 网站 步骤: 一. 需要的安装包. 提前准备好. apr-util-1 ...

  6. drf中的jwt使用与手动签发token、校验用户

    jwt认证 1)session存储token,需要数据库参与,耗服务器资源.低效2)缓存存token,需要缓存参与,高效,不易集群3)客户端存token,服务器存签发与交易token的算法,高效,易集 ...

  7. 好看的UI组合,为以后自己写组件库做准备

    1. 黑色格子背景 { color: rgb(255, 255, 255); text-shadow: 1px 1px 0 rgba(0,0,0,.3); rgb(62, 64, 74); backg ...

  8. android蜂巢效果、环形菜单、Kotlin影视应用、简约时钟、查看导出App、支付宝AR扫码效果等源码

    Android精选源码 一个蜂巢布局管理器,外观帅气外,动画效果也是很赞 一个基础 UI 框架项目,实现不同布局格式的混排 仿建行app效果,一个环形菜单的布局管理器源码 基于组件化实现的一款用Kot ...

  9. IMX6开发板qt creator直接编译ARM架构程序

    除了通过 11.2.2 小节通过命令行的操作来编译在 iTOP-imx6 开发板上运行的程序,还可以直接在 qtcreator 上设置,然后每次编译的程序都可以在开发板上运行.如下图所示,打开 qtc ...

  10. AddressUtils

    package com.ruoyi.common.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com. ...