前言:

  公司一般都有个自己的私服来管理各种jar包,原因大概有这么3个,分别是:

    1、有的公司不能访问外网,只能通过私服来管理jar包和插件;

    2、公司网速比较慢,通过公司的私服来获取jar包比较快;

    3、内部的的一些jar包放在私服上,比较方便的大家使用。

  这里简单介绍下搭建Nexus环境,并且在eclipse mvn插件环境下来上传jar包。

Nexus环境搭建:

   说明:这里是Windows环境,Linux类似。

  1、下载Nexus安装文件:http://www.sonatype.org/nexus/go ,目前是nexus-2.13.0-01-bundle.tar.zip这个最新版本;

  2、解压到任意目录,我这里解压到E盘,进入E:\nexus-2.13.0-01\bin\jsw\windows-x86-64,点击install-nexus.bat安装成为windows服务,这里选择自己计算机对应的文件;

  3、访问http://localhost:8081/nexus/,这就是私服;

  4、点击右上角登录,默认帐号admin,密码admin123;

  5、点击左边Repositories,可以看到一系列仓库类型,我们一般使用3个,分别是Releases,Snapshots和3rd party。这3个仓库风别是装稳定版,开发版和第三方jar包 。

  

  6、举例,手动上传一个jar到Releases仓库里面。

   

  7、上面是手动方式,另外一种是利用mvn直接发布到私服上面来,需要修改2个地方,第一是在settings文件的servers节点下加入,这是配置私服的密码和仓库,配合pom文件中的仓库地址就构成了完成的访问私服的要素,帐号和密码之所以在settings中设置,是由于settings文件是本地的,而pom.xml文件是公共的,不安全,所以放在settings中:

<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server> <server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>

  第二是在pom.xml中增加,下面的id和settings中的id必须要一样。

    <distributionManagement>
<repository>
<id>nexus-release</id>
<name>Nexus Release Repository</name>
<url>http://localhost:8081/nexus/content/repositories/release/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>

  上面的私服两个仓库的url从什么地方获取呢?如下图:

  

  8、新建一个mvn项目,

    1、运行source:jar在target下生成源码jar包;

    2、运行deploy,class的jar包发布到私服;

    3、运行source:jar deploy,连同源码一起发布到私服。

  9、完成,在其他项目中可以使用上面的jar包了。

  10、a.贴两个以前遇到过的小异常过来,在eclipse中配置mvn的时候可以分别配置mvn的目录和settings文件,不过最好是二者是同一个版本的,不然有可能就会出问题。

     b.我们有时候明明<dependency>没写错,却偏偏各种报错,可以删掉本地对应的jar,重新下载,就ok了。

  11、学习建议:mvn这个东西,就是难者不会,会者不难。基本上按照这样一个路线就问题不大,基本使用 => 了解继承/聚合 => 了解jar包冲突机制,并解决冲突 =>了解mvn的3个默认声明周期 ,生命周期的各个阶段phase ,各个阶段的目标goal => mvn的插件开发 => Nexus私服搭建及其使用。大致这样一个过程下来,就能非常熟悉mvn,如果在稍微看看mvn的源码,大致看一看,基本上可以说是精通mvn了。

《Nexus3.x.x上传第三方jar》参考:http://blog.csdn.net/iopfan/article/details/71107686

【原创】Nexus搭建Maven私服的更多相关文章

  1. nexus搭建maven私服及私服jar包上传和下载

    nexus搭建maven私服及私服jar包上传和下载 标签: nexus管理maven库snapshot 2017-06-28 13:02 844人阅读 评论(0) 收藏 举报 分类: Maven(1 ...

  2. 如何使用Nexus搭建Maven私服

    如何使用Nexus搭建Maven私服 听语音 | 浏览:47 | 更新:2016-09-29 10:22 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师傅最快的到家服务,最优质的电脑清灰! ...

  3. Maven-004-使用 Nexus 搭建 maven 私服

    从去年至今,自己一直在学习自动化测试工具,想利用自动化工具尽可能的将重复的.关键的.耗时耗力的工作实现自动化,减轻日常测试工作,提升测试效率.在学习的过程中,将 maven 作为了项目开发管理工具,进 ...

  4. Maven使用笔记(五)Sonatype Nexus 搭建Maven 私服

    1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地, 而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载 ...

  5. Maven——使用Nexus搭建Maven私服

    原文:http://www.cnblogs.com/xdp-gacl/p/4068967.html Maven学习总结(九)--使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要 ...

  6. (转)Maven学习总结(九)——使用Nexus搭建Maven私服

    孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(九)——使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目 ...

  7. Maven学习二:使用Nexus搭建Maven私服及相关配置

    处于安全等原因的考虑,一些企业内部网络是不允许访问外部网络的,但是项目内部搭建的项目又是Maven架构,这样就需要企业在内部网络中搭建自己的Maven仓库服务,再者一些大型企业或者内部模块化组件化划分 ...

  8. 使用Nexus搭建Maven私服问题总结

    #业务场景 最近项目要交付给客户了,之前项目开发和测试一直都是使用公司内部的一套环境,项目交付后客户购置了大量服务器,也要将整套测试环境迁移至客户的服务器上,后续的需求变更以及新需求的开发都会在客户服 ...

  9. nexus 搭建 maven 私服

    nexus 搭建 maven 私服 本机环境 Win 8 JDK 7 Maven 3.2 Nexus 2.11 版本选择 http://www.sonatype.org/nexus/archivedn ...

  10. ubuntu下使用Nexus搭建Maven私服

    ubuntu下使用Nexus搭建Maven私服 1.私服简介: 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服, ...

随机推荐

  1. .net平台下深拷贝和浅拷贝

    在.net类库中,对象克隆广泛存在于各种类型的实现中,凡是实现了ICloneable接口的类型都具备克隆其对象实例的能力.所以本文讲述的深拷贝和浅拷贝也是在实现ICloneable接口的基础上进行的. ...

  2. java中的类和对象

    Java中的类是一个模板,它用于描述一类对象的行为和状态. 对象则是类中的一个实例,对象有状态(属性)和行为(方法).例如一条狗就是一个对象,他的状态就是他的颜色,名字,品种:他的行为就是叫,摇尾巴, ...

  3. redsocks 配合iptables设置全局sockts5代理

    参照:http://kuaile.in/archives/1370 架构图: 第一步,安装redsocks 1. 安装依赖 yum install libevent-devel 2. 下载编译 git ...

  4. 设置GPnP profile文件中asm spfile的位置

    登录asmcmd asmcmd> spset <location-绝对路径> 示例: ASMCMD> spset +DATA/asm/asmparameterfile/asms ...

  5. Mybatis的批量CRUD

    CRUD与批量CRUD 分页前后缀(方言 Mysql与Oracle情况下不一样) 批量插入数据  http://chenzhou123520.iteye.com/blog/1583407/ 亟待完善 ...

  6. 数据库调优过程(二):找到IO不存在问题,而是sqlserver单表写入IO瓶颈

    物理机上测试IO是否为瓶颈: 使用一个死循环insert into测试数据库最大写入速度: use [iTest]; declare @index int; ; begin ; INSERT into ...

  7. 怎么设置task的最大线程数

    //-------------------------------------------------------------------------- // // Copyright (c) Mic ...

  8. Inventory Pro 装备拾取的实现

    以后都按照插件使用,提出问题,回答问题的方式来进行总结和学习 效果图 1.运行相关的例子,场景中出现4个矩形,这4个矩形是用来模拟物品掉落的包裹,移动Player靠近物品 2.使用鼠标点击物品正方体, ...

  9. JAVA的JVM虚拟机工作原理.V.1.0.0

    注意:一下内容纯属个人理解,如有错误,欢迎批评指正. (90度弯腰)谢谢. java在JVM上的运行过程: 1,编辑好的java代码(IDE无报错,测试运行无错误): 2,java源代码通过javac ...

  10. m球求n盒子问题

    球同盒同可空盒问题 #include <bits/stdc++.h> using namespace std; const int N = 25; int dp[N][N]; int ma ...