由于项目组需要,要搭建内部的Maven仓库,借鉴项目组内部及外部同事的经验选用nexus来搭建内部仓库。下面描述一下具体的步骤。 



一、安装配置过程 

1.下载nexus,地址http://www.sonatype.org/nexus/ 

nexus版本有内嵌Jetty的bundle版本和war版本。内嵌Jetty的bundle版本直接可以独立运行,但由于内部一直用的Tomcat容器,所以选用了war版本。直接放到Tomcat下的webapps目录下即可 



2.安装及配置步骤 

把nexus-2.0.5.war放到Tomcat下的webapps目录,让Tomcat解压。 

修改一下配置\nexus-2.0.5\WEB-INF\plexus.properties。更改nexus存放repository的根目录 

nexus-work=D:/java/MavenRepository/sonatype-work/nexus,原来的是usr.dir我试了一下是在c盘根目录下,我就改到这里了。 



3.配置nexus 

如下图: 



依次登陆,配置Central的Repository。这个是一个proxy类型的Repository,用来代理别的如官方的Repository,能帮你自动下载,我们也可以再添加别的proxy类型的Repository。 

需要注意,改下URL(推荐http://www.mvnsearch.org/maven2/),Download Remote Indexes改为true。 





配置下Release Repository,其中Deployment Policy配置为允许重新部署。这个是本地Repository,主要用来存放组内的jar包的。 



配置3rd Party Repository,也是本地Repository,主要是存放在maven官方下不到的,第三方的jar包。 



配置Public Repository,Repository组。这个主要是给我们用来下载jar包的。把有可能用到的代理或者本地Repository都加进来,全部对外可见。 



4.更新Repository的index 

在更新之前是看不到任意jar包的,要更新下索引才行。右键public repository,更新index。会把public组包含的Repository的索引都更新。(如果更新不了,自己挨个手动更新,再重启容器试试)。更新会比较慢,但不会在前台显示,你可以再后台看看网络流量或者Repository存放目录的index的变化情况。 



5.搜索jar包,如搜索log4j。如果可以搜索到,代表安装,配置,更新索引都成功了。 



二、使用 

1.在maven工程中添加对本地Repository的依赖 

代码如下:优先搜索本地Repository,找不到再去别的地方找

  1. <repositories>
  2. <repository>
  3. </id>
  4. Repository</name>
  5. <url>http://192.168.85.136:28080/nexus-2.0.5/content/groups/public/</url>
  6. </repository>
  7. <repository>
  8. <id>jboss-cache</id>
  9. <name>jboss-cache</name>
  10. <url>http://repository.jboss.org/maven2</url>
  11. </repository>
  12. <repository>
  13. <id>mvnsearch</id>
  14. <name>mvnsearch Maven Repository</name>
  15. <url>http://www.mvnsearch.org/maven2</url>
  16. </repository>
  17. </repositories>

2.把组内共用jar包上传 

两种方式,手动上传,简单就不介绍了,但是要自己填写版本之类的东西 

重点介绍下使用maven上传 



首先,修改maven的配置文件 setting.xml

  1. <settings>
  2. ...
  3. <servers>
  4. <server>
  5. <id>nexus-releases</id>
  6. <username>admin</username>
  7. <password>admin123</password>
  8. </server>
  9. <server>
  10. <id>nexus-snapshots</id>
  11. <username>admin</username>
  12. <password>admin123</password>
  13. </server>
  14. </servers>
  15. ...
  16. </settings>

然后,在项目的pom.xml中加入如下配置。

  1. <project>
  2. ...
  3. <distributionManagement>
  4. <repository>
  5. <id>nexus-releases</id>
  6. <name>Nexus Release Repository</name>
  7. <url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>
  8. </repository>
  9. <snapshotRepository>
  10. <id>nexus-snapshots</id>
  11. <name>Nexus Snapshot Repository</name>
  12. <url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>
  13. </snapshotRepository>
  14. </distributionManagement>
  15. ...
  16. </project>

最后,在命令行运行 mvn deploy即可,注意要把项目生成release,不是snapshot的。 

我的eclipse里没有mvn deploy选项,我就用命令行这种比较笨的方式,但是也比较好使。 



三、个人理解 

1.搭建本地仓库的目的之一是为了节省从官方repository下载jar包的时间(现在从局域网下载) 

2.另外还有一个目的是管理第三方jar包和组内编写的jar包。

用nexus搭建maven2内部服务器的更多相关文章

  1. 使用Nexus搭建Maven内部服务器

    概述         我们在使用maven时,一般通过网络上一些公共的maven仓库来获取jar包,但是有时候会碰到网速比较慢的情况就比较郁闷,Nexus是一个maven的服务器,可以让我们搭建一个本 ...

  2. 用artifactory搭建maven2内部服务器

    访问http://www.jfrog.org/sites/jfrog/index.html 下载最新的zip包(内置jetty) 下载和解压artifactory.目录结构如下: 这些目录是: bac ...

  3. 简单搭建 nuget 内部服务器

    搭建 nuget 内部服务器,最好的方式是使用 ProGet,参考博文<用 ProGet 搭建内部的 NuGet 服务器>,好处非常多,但需要使用 SQL Server 数据库,如果不想使 ...

  4. window7利用Nexus搭建maven私有服务器

    下载地址 https://www.sonatype.com/oss-thank-you-win64.zip: cmd管理员运行命令 nexus.exe/install Nexus Service:(n ...

  5. mac nexus搭建本地maven服务器

    1.在保证安装jdk 1.7+,去nexus官网下载nexus(http://www.sonatype.com/download-oss-sonatype) 最新版本 2.解压zip文件,配置nexu ...

  6. 使用nexus 搭建本地 maven 服务器

    1.下载安装nexus oos https://www.sonatype.com/download-oss-sonatype ,选择2.x 版本. 2. 配置maven <server> ...

  7. Linux (Ubuntu)安装nexus,搭建maven私有服务器

     下载 nexus oos(开源版)https://www.sonatype.com/download-oss-sonatype 2 将下载的压缩包上传到/opt/nexus/文件夹下面 3 解压文件 ...

  8. 通过ProGet搭建一个内部的Nuget服务器

    .NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...

  9. 用Windows Server 2003搭建企业内部邮件服务器

    公司要搭建一个邮件服务器,方便内部邮件的发送.而且要求每位员工都可以使用自己的账号和密码.领导将这份工作交给我,不过,这可难不倒我.只要借助Windows Server 2003就可以轻松建起内部邮件 ...

随机推荐

  1. css清除select的下拉箭头样式

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

  2. 1)基本的MFC程序创建过程

    1)基本的MFC创建过程: 2)   选择MFC应用程序: 3)然后选择特定的选项  直接完成就行了: 4)下面就是建成的样子: 5)然后是  运行结果: 6)有一个问题  那个  菜单栏是属于  F ...

  3. DB---WAL技术

    摘要:这个WAL技术也需要加以整理,即 write-ahead logging (预写式日志),待整理...

  4. drf_jwt手动签发与校验-drf小组件:过滤-筛选-排序-分页

    签发token 源码的入口:完成token签发的view类里面封装的方法. 源码中在请求token的时候只有post请求方法,主要分析一下源码中的post方法的实现. settings源码: 总结: ...

  5. 运行SQL文件报错Invalid ON UPDATE clause for 'create_date' column

    Invalid ON UPDATE clause for 'create_date' column   原因: 高版本的mysql导数据到低版本出现的问题 日期类型报错 MySQL 5.5 每个表只允 ...

  6. Window Redis安装

    1.下载redis 下载地址:https://github.com/MicrosoftArchive/redis/releases ​ 2. 安装redis 把下载的Redis-x64-3.2.100 ...

  7. Matlab高级教程_第四篇:白噪声的MATALB生成方式

    1. 白噪声主要是高斯白噪声. 2. 为什么是高斯白噪声? 高斯白噪声:1)这个噪声它是一个随机信号.2)“白”是指其功率谱的常数,这样他的自相关函数是狄拉克函数(冲激函数),由于它的自相关函数是冲激 ...

  8. 吴裕雄--天生自然 pythonTensorFlow图形数据处理:TensorFlow图像处理函数

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt #读取图片 image_raw_data = tf ...

  9. 14 微服务电商【黑马乐优商城】:day02-springcloud(理论篇二:知道什么是SpringCloud)

    本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一: ...

  10. 《VSTO开发入门教程》配套资源下载

    <VSTO开发入门教程> 刘永富 著 清华大学出版社 封面截图 购书网址 京东网 淘宝网 配套资源到如下页面寻找: https://www.cnblogs.com/ryueifu-VBA/ ...