前言:

  公司一般都有个自己的私服来管理各种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. 微信公众平台开发(99) 自定义菜单获取OpenID

    关键字 微信公众平台 自定义菜单 OpenID作者:方倍工作室原文:http://www.cnblogs.com/txw1958/p/weixin-menu-get-openid.html 在这篇微信 ...

  2. java yum安装的环境变量设置

    如何(怎样)在CentOS 6.X 或 redhat 上使用安装JDK runtime environment (openjdk) ? CentOS 6.X 和 5.X 自带有OpenJDK runt ...

  3. Speed-BI 云平台视频观看频道

    数据分析的关键,首先是要有数据进行透视分析.大家一般在使用EXCEL透视表进行数据分析时,会通过某个系统,导出类似视频中的数据底稿,然后在此基础上进行各种维度的变换与指标的改变.奥威思必得也有一个类似 ...

  4. html 把左框的选中项添加到右框

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. SQL 的简单命令(增删改查)

    数据库操作的资料: 链接: https://pan.baidu.com/s/1dFl3q6X 密码: nvy7-- 增:insert into 表名 (列名) values (值) ,'dew') - ...

  6. electron Uncaught ReferenceError: jQuery is not defined

    用electron写桌面程序时 ui部分的html页面引入的js会用到jquery 用常规的方式引入是不行的,会抛出如题的异常 <script type="text/javascrip ...

  7. ios提示框,自动消失

    -(void)click { NSString *showMsg = @"点击我,开始提示"; int width = showMsg.length * 20; UIWindow ...

  8. notpad++安装python插件

    1.安装python并添加到环境变量 2.在notpad++ 运行工具下点击运行,输入如下命令: cmd /k python "$(FULL_CURRENT_PATH)" & ...

  9. PostgreSQL Insight Monitor pgstat

    PostgreSQL Insight Monitor  pgstat pgstat 是一个连接到数据库并获取数据库的活动状态的命令行工具. PostgreSQL有许多状态: archiver for ...

  10. JDK安装 配置环境变量

    我将JDK安装在D盘中 在D盘中新建一个文件 文件名为JAVA 运行jdk安装软件 更改jdk安装路径为 下一步 等待jdk安装完成 安装jre路径 jre路径改为 点击下一步 等待jre安装完成 注 ...