Maven私服可以用多个不同的产品可供选择,下面我们演示使用最为广泛的nexus来架设maven本地私服
 
Nexus的下载及安装请见官方下载页: http://www.sonatype.org/nexus/go
我们可以有两种安装方式:1. 独立服务器方式运行,nexus内置netty, 2: 下载.war文件,放到我们已有的容器(比如:tomcat)中运行
 
第一种方式:
我们可以下载.zip文件,然后直接解压到bin文件下找到nexus.bat这个批处理文件,然后运行> nexus install将nexus安装成windows服务,然后再services.msc里设置该服务器随操作系统自动启动,或运行在命令行运行> nexus.bat start也可以启动这个nexus服务
 
第二种方式:
下载.war文件(目前版本nexus-2.8.0-05),重命名为nexus.war,然后放到web容器webapp目录下运行
 
建议采用第二种方式,将nexus.war放到web容器中运行
 
nexus默认的工作目录地址为:${user.home}/sonatype-work/nexus,如果我们需要设置成其他目录请到nexus/WEB_INF/plexus.properties文件中找到改行并修改
 
一切准备好了之后,输入http://localhost/nexus, 如果显示正常表示安装成功
 
 

点击右上角login,默认账户:admin/admin123

 
默认情况下,nexus已经内置创建好了各种我们需要的repositories,这基本上已经够用了。具体如何使用nexus自己去baidu
 
然后我们需要修改{user.home}/.m2/settings.xml文件设置本地仓库
 
首先我们需要在<mirrors>节点中添加一个<mirror>节点配置,用本地仓库作为外部远程仓库的镜像,让maven先从本地仓库查找看是否有我们需要的依赖

 <mirror>
<id>nexus</id>
<url>http://localhost/nexus/content/groups/public/</url>
<mirrorOf>*</mirrorOf>
</mirror>

上述配置表示使用本地的public仓库组作为所有外部仓库的镜像,换句话说,maven在查找依赖的时候首先从本地找,找不到才去外部仓库找,需要注意的是,即使我们这里配置了本地仓库作为外部所有仓库的依赖,但是此时maven仍然还会去连接central(中央仓库),如果想要彻底阻止maven访问远程central仓库,我们还需要做如下配置:

 
在<profiles>节点下添加一个<profile>节点,并且在<activeProfiles>中激活这个profile
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>

这样maven就可以访问本地仓库来替代访问外部仓库了

 
如何将项目部署到本地仓库

在pom.xml文件中添加以下配置节点
<distributionManagement>
<repository>
<id> nexus-releases</id >
<name> Local nexus releases repository</name >
<url> http://localhost/nexus/content/repositories/releases/ </url>
</repository>
<snapshotRepository>
<id> nexus-snapshots</id >
<name> Local nexus snapshots repository</name >
<url> http://localhost/nexus/content/repositories/snapshots/ </url>
</snapshotRepository>
</distributionManagement>

说明:上面的配置文件中指定的是将打包文件部署到本地的一个仓库,对外部或本地仓库的访问一般都需要配置权限,所以还需要在settings.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>

上面的<server>.<id>节点中的名称需要和<repository>的<id>中定义的名称保持一致

Maven私服架设(nexus / on windows)的更多相关文章

  1. Maven 私服(Nexus)

    @[toc](Maven 私服(Nexus)) 1.Nexus 简介 Nexus是Maven仓库管理器,也可以叫Maven的私服.Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库 ...

  2. window Maven私服搭建——nexus

    注:本文来源于 <window   Maven私服搭建--nexus> Maven私服搭建--nexus 1.下载nexus https://www.sonatype.com/downlo ...

  3. maven私服搭建nexus/windows/linux(一)

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,还有就是公司内部开发的一些版本的jar包,如果没有私服需要一人拷贝一份然后再自己安 ...

  4. maven私服搭建nexus介绍(二)

    1.各个仓库介绍 Hosted:宿主仓库 主要放本公司开发的SNAPSHOTS测试版本,RELEASES正式发行版.合作公司第三方的jar包. Proxy:代理仓库 代理中央仓库:代理Apache下测 ...

  5. Maven私服搭建及使用-Windows版

    了解有限,目前只针对基础功能介绍,持续更新 一.下载对应的版本(本例版本:nexus-3.7.1-02) https://www.sonatype.com/download-oss-sonatype ...

  6. Maven私服搭建(Nexus Repository Manager 3)

    下载和安装 下载地址:https://help.sonatype.com/repomanager3/download 注意:Nexus Repository Manager 3是一个Java服务器应用 ...

  7. Maven私服Nexus的搭建

    # Maven私服Nexus的搭建 ## 私服存在的合理性 Maven中的依赖是从服务器仓库中下载的,Maven的仓库只有两大类: - 1) 本地仓库 - 2) 远程仓库,其中在远程仓库中又分成了3种 ...

  8. maven私服nexus搭建(windows)

    1.下载nexus 地址:https://www.sonatype.com/download-oss-sonatype 下载相应版本的zip包. 2.安装nexus 下载完成后,解压到本地任意目录. ...

  9. Windows使用Nexus搭建Maven私服

    简介 Maven私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件,有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库,否则,私服请求外部的 ...

随机推荐

  1. 如何优化Mysql数据库

    1.添加主键ID 2.尽量避免使用select * form table 3.创建索引     对于查询占主要的应用来说,索引显得尤为重要.很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或 ...

  2. Android中px, ppi, dpi, dp, dip, sp概念解析

    Android中px, ppi, dpi, dp, dip, sp概念解析

  3. 2018.09.14 codeforces364D(随机化算法)

    传送门 根据国家集训队2014论文集中胡泽聪的随机化算法可以通过这道题. 对于每个数,它有12" role="presentation" style="posi ...

  4. 20155212 2016-2017-2 《Java程序设计》第7周学习总结

    20155212 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 Chapter13 取得系统时间的方法之一是System.currentTimeMillis ...

  5. day10(IO流汇总)

    字节流 (Reader,Writer) 输入流  FileReader public class Demo { public static void main(String[] args) throw ...

  6. C++ 11可变参数接口设计在模板编程中应用的一点点总结

    概述 本人对模板编程的应用并非很深,若要用一句话总结我个人对模板编程的理解,我想说的是:模板编程是对类定义的弱化. 如何理解“类定义的弱化”? 一个完整的类有如下几部分组成: 类的名称: 类的成员变量 ...

  7. 二:nodejs+express+redis+bootstrap table+jquery UI

    介绍:做一个量化投资的实时系统. 综合: 添加记录,顺序改变的话,refresh之后,能正常刷新吗?可以正常刷新,只是顺序又变回去. express中用fs readfile 时,需要用path.jo ...

  8. 将Heap RID转换成RID格式

    使用DBCC PAGE命令查看索引叶子层中的索引键(最后一个参数为3才会显示索引键对应的HEAP RID)时,可以使用下面的SQL将HEAP RID转换成 FileId:PageId:SlotNo的格 ...

  9. 如何统计TFS代码库中的团队项目所占用的磁盘空间

    在一个开发团队较多的研发中心,当开发人员的代码数据积累到一定程度,TFS系统的磁盘空间的使用率会逐渐成为系统管理员关注的问题.你可能会关注代码库中每个团队项目,甚至每个目录占用的的磁盘空间.不幸的,即 ...

  10. SpringBoot相知

    前言 这篇文章的将介绍表单验证,AOP处理请求和统一异常处理,案例是延续上一篇 SpringBoot初识 表单验证 现在将要拦截未满18岁的女生,在之前GirlController里面添加一个女生的方 ...