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. 2018.07.04 BZOJ 2823: AHOI2012信号塔(最小圆覆盖)

    2823: [AHOI2012]信号塔 Time Limit: 10 Sec Memory Limit: 128 MB Description 在野外训练中,为了确保每位参加集训的成员安全,实时的掌握 ...

  2. 2018.07.23 hdu5828 Rikka with Sequence(线段树)

    传送门 这道题维护区间加,区间开根,区间求和. 线段树常规操作. 首先回忆两道简单得多的线段树. 第一个:区间覆盖,区间加,区间求和. 第二个:区间开根,区间求和. 这两个是名副其实的常规操作. 但这 ...

  3. modelsim编译altera的库

    http://www.cnblogs.com/LJWJL/p/3515586.html 在modelsim的安装目录下,把配置文件modelsim.ini的只读属性去掉,然后在modelsim中运行T ...

  4. Go语言的传参和传引用[转]

    目录[-] 传参和传引用的问题 传slice不是传引用! 什么叫传引用? 为什么传slice不是传引用? 为什么很多人误以为slice是传引用呢? 传指针和传引用是等价的吗? 所有类型的函数参数都是传 ...

  5. 作为CTO如何做技术升级

    升级技术架构,先要革新观念,最后才是技术问题 升级技术架构,不仅仅是技术升级 说到升级架构,大家第一个都会想到,是不是对技术升级一下就可以了? 我认为不是,技术架构升级要求的是整个公司的升级. 技术架 ...

  6. iOS Development和iOS Distribution有什么区别

    http://zhidao.baidu.com/link?url=T9od33JuA7jjxzfyV-wOjuVLSNUaqpc9aoCu2HjfYfHBuRLW1CNDii0Bh9uvG6h-GeJ ...

  7. MVC4 项目开发日志(1)

    最近一直在定义一个功能全面,层次结构分明的框架.一边学习一边应用.

  8. python - http请求带Authorization

    # 背景 接入公司的一个数据统计平台,该平台的接口是带上了Authorization验证方式来保证验签计算安全 # 方法 其实很简单,就是在header中加入key=Authorization,val ...

  9. Microsoft Sql Server 2016安装在CentOS7下

    安装过程 如何安装直接参考这个文章:安装sql server 整个安装过程非常简单. 上面的文档里是通过 sudo 命令,用root身份来执行,不过这里为了简单,就用root账号来安装的. (1)下载 ...

  10. asp.net—工厂模式

    一.什么是工厂模式 定义:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类. 二.怎么使用工厂模式 首先模拟一个场景:有一个汽车工厂,  可以日本车.美国车.中国车... 这个场景怎么用工厂 ...