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.06.29 NOIP模拟 边的处理(分治+dp)

    边的处理(side.cpp) [问题描述] 有一个 n 个点的无向图,给出 m 条边,每条边的信息形如<x,y,c,r><x,y,c,r><x,y,c,r>. 给出 ...

  2. 2018.08.21 NOIP模拟 xorand(01trie)

    xorand 描述 有q次操作,每次操作是以下两种: 1. 加入一个数到集合中 2. 查询,查询当前数字与集合中的数字的最大异或值,最大and值,最大or值 输入 第一行1个正整数Q表示操作次数 接下 ...

  3. newton法分形图

    方程:z^6-1=0; %f为求解的方程,df是导数,使用的时候用funchandler定义 %res是目标分辨率,iter是循环次数,(xc,yc)是图像的中心,xoom是放大倍数 %参数视自己需求 ...

  4. Netty学习第四节WebSocket入门

    1.什么是webSocket?       webSocket是H5提出的一个协议规范,webSocket约定了一个通信的规范,通过一个握手的机制,客户端和服务端,就能建立一个类似TCP的连接,从而方 ...

  5. 配置 struts2 时掉进 web.xml 的坑

    这个声明不好用 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&quo ...

  6. day3之函数的初始及进阶

    函数初始 函数的定义与调用 ''' def 函数名 (参数): 函数体 函数名:设定与变量相同 执行函数: 函数名() ''' 函数的返回值 # 函数返回值 return ''' 1.遇到return ...

  7. JS数组去重算法实现

    之前一段时间一直在准备面试, 因而博客太久没更新: 现在基本知识点都复习完毕, 接下来就分享下 面试的一些常见问题: 去正规的互联网公司笔试.面试有很大的概率会碰到 使用javascript实现数组去 ...

  8. 整数重复的第n位计算公式

    513不停的重复形成513513513....,求第n位是几的计算公式.

  9. virtualenv 安装及使用[转]

    一如既往,官方文档: https://virtualenv.pypa.io/en/latest/   下载地址:https://pypi.python.org/pypi/virtualenv#down ...

  10. (匹配)Oil Skimming -- hdu --4185

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=4185 http://acm.hust.edu.cn/vjudge/contest/view.action ...