Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。

开启Nexus服务后访问url地址http://localhost:8081/nexus/(推荐使用自己的ip地址),之后登录系统,用户名密码分别是:admin/admin123.

最频繁的就是点击左侧菜单栏的Repositories按钮

group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库;

hosted 宿主仓库:主要用于发布内部项目构件或第三方的项目构件(如购买商业的构件)  以及无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)

proxy 代理仓库:代理公共的远程仓库;

virtual 虚拟仓库:用于适配 Maven 1;

一般用到的仓库种类是 hosted、proxy

Hosted 仓库常用类型说明:

releases 内部的模块中 release 模块的发布仓库

snapshots 发布内部的 SNAPSHOT 模块的仓库

3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

如果构建的 Maven 项目本地仓库没有对应的依赖包,那么就会去 Nexus 私服去下载,   如果Nexus私服也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。   Nexus 私服下载成功后再下载至本地 Maven 库供项目引用。

1、设置 proxy 代理仓库(Apache Snapshots/Central/Codehaus Snapshots)准许远程下载,

其它两个代理库也设置为true

2.Maven 本地库的安装与配置  setting.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  5. <localRepository>D:/maven/repository</localRepository>
  6. <interactiveMode>true</interactiveMode>
  7. <offline>false</offline>
  8. <pluginGroups>
  9. <pluginGroup>org.mortbay.jetty</pluginGroup>
  10. <pluginGroup>org.jenkins-ci.tools</pluginGroup>
  11. </pluginGroups>
  12. <!--配置权限,使用默认用户-->
  13. <servers>
  14. <server>
  15. <id>nexus-releases</id>
  16. <username>deployment</username>
  17. <password>deployment123</password>
  18. </server>
  19. <server>
  20. <id>nexus-snapshots</id>
  21. <username>deployment</username>
  22. <password>deployment123</password>
  23. </server>
  24. </servers>
  25. <mirrors>
  26. </mirrors>
  27. <profiles>
  28. <profile>
  29. <id>nexus</id>
  30. <activation>
  31. <activeByDefault>false</activeByDefault>
  32. <jdk>1.7</jdk>
  33. </activation>
  34. <repositories>
  35. <!-- 私有库地址-->
  36. <repository>
  37. <id>nexus</id>
  38. <url>http://127.0.0.1:1818/nexus/content/groups/public/</url>
  39. <releases>
  40. <enabled>true</enabled>
  41. </releases>
  42. <snapshots>
  43. <enabled>true</enabled>
  44. </snapshots>
  45. </repository>
  46. </repositories>
  47. <pluginRepositories>
  48. <!--插件库地址-->
  49. <pluginRepository>
  50. <id>nexus</id>
  51. <url>http://127.0.0.1:1818/nexus/content/groups/public/</url>
  52. <releases>
  53. <enabled>true</enabled>
  54. </releases>
  55. <snapshots>
  56. <enabled>true</enabled>
  57. </snapshots>
  58. </pluginRepository>
  59. </pluginRepositories>
  60. </profile>
  61. </profiles>
  62. <!--激活profile-->
  63. <activeProfiles>
  64. <activeProfile>nexus</activeProfile>
  65. </activeProfiles>
  66. </settings>
  67. <span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
  68. </span></span>

3、将项目发布到私服

pom.xml 添加配置

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

然后运行发布

clean deploy

在控制台发布成功后

然后进入到私服上的仓库中,看一下确实存在刚刚发布的项目

4.上传第三方jar包

然后点Select Artifact(s) for Upload按钮选择要上传的jar包,再点 add Arifact

最后点 Upload Artifact(s)

上传成功后查看

参考

http://blog.csdn.net/xiaoreqing/article/details/51352751

http://www.cnblogs.com/luotaoyeah/p/3817465.html

maven--私服的搭建(Nexus的使用)的更多相关文章

  1. (转)搭建Maven私服(使用Nexus)

    搭建私服可以做什么? 1.如果公司开发组的开发环境全部内网,这时如何连接到在互联网上的Maven中央仓库呢? 2.如果公司经常开发一些公共的组件,如何共享给各个开发组,使用拷贝方式吗?如果这样,公共库 ...

  2. 搭建Maven私服(使用Nexus)

    搭建私服能够做什么? 1.假设公司开发组的开发环境所有内网.这时怎样连接到在互联网上的Maven中央仓库呢? 2.假设公司常常开发一些公共的组件.怎样共享给各个开发组.使用拷贝方式吗?假设这样,公共库 ...

  3. maven私服的搭建

    前言: 为什么要有maven私服? 当我们在公司开发时,如果每个程序员都需要连接外网去下载maven的jar包,当同时开发时,就会造成网络资源浪费,因此,maven提出了私服的概念,当公司内部程序员进 ...

  4. Docker中Maven私服的搭建

    为何用到Maven私服? 在实际开发中,项目中可能会用到第三方的jar.内部通讯的服务接口都会打入到公司的私服中. 我们从项目实际开发来看: 一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服 ...

  5. 基于【 Docker】五 || maven私服环境搭建

    1.Maven  Nexus私服的原理 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库.当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓 ...

  6. 搭建nexus私服(maven)

    这里提供nexus的直接下载页面的链接: https://www.sonatype.com/download-oss-sonatype maven获取依赖jar包是从中央仓库获取,但很莫名的出现jar ...

  7. Linux下搭建maven私服Nexus 3.2.1-01

    1. 私服介绍私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则, ...

  8. docker 搭建maven 私服

    # 搜索镜像 docker search nexus; #拉取nexus镜像docker pull sonatype/nexus; #运行 -id 创建守护式容器--privileged=true 授 ...

  9. 掌握 Maven 私服

    前言 在 Java EE 开发中,我们使用 Maven 构建工具主要来管理项目的第三方库的依赖,以及公司内部其他项目服务的依赖.因此 Maven 私服就是必不可少的一环,本文主要对 Maven 私服的 ...

  10. Maven知识记录(一)初识Maven私服

    Maven知识记录(一)初识Maven私服 什么是maven私服 私服即私有的仓库.maven把存放文件的地方叫做仓库,我们可以理解成我门家中的储物间.而maven把存放文件的具体位置叫做坐标.我们项 ...

随机推荐

  1. 【VirtualBox】端口转发,ssh

    端口转发 VirualBox的设置 - 网络 - 端口转发 里面有主机IP.主机端口.子系统IP.子系统端口 设置后的含义是:当外部访问主机IP:主机端口后,将会把访问映射到虚拟机的子系统IP和子系统 ...

  2. win7下IIS配置MVC项目

    第一步:添加MVC程序映射 1.双击打开,如下图: 2. 点击界面右边操作中的:添加脚本映射 请求路径:* 可执行文件路径:C:\Windows\Microsoft.NET\Framework\v4. ...

  3. PHP单引号和双引号的区别

    单引号和双引号的区别 .双引号 里的东西 输入的时候能判断是否 包含 变量,如果包含 变量 就一起输出 .单引号里的就不一样,不判断是否有变量,就全部当成 字符串 输出 .单引号解析的时间比双引号快 ...

  4. phpcms如何使用推荐位调用自定义字段

    默认phpcms是无法使用推荐位调用自定义字段的 一般自定义字段默认添加在附表里(也可以添加在主表里),调用自定义字段时 加上moreinfo="1" 直接写{pc:content ...

  5. 区间dp总结

    poj 1141 Brackets Sequence 基础的区间dp题,注意dp边缘的初始化,以及递归过程中的边界 poj 2955 Brackets 依旧注意初始化,水题 hdu 4745 Two ...

  6. linux下动态库so文件的一些认识

    转自:http://mypyg.iteye.com/blog/845915 个人创作,欢迎指错. 牵扯到ELF格式,gcc编译选项待补,简单实用的说明一下,对Linux下的so文件有个实际性的认识.  ...

  7. 电赛菜鸟营培训(一)——STM32F103CB之LED控制

    一.STM32F103C8 引脚分布 二.LED的共阴.共阳接法 这里应该是七段数码管的接法. 限流电阻选择为470,在Multism中仿真,也需要接入,否则会出现闪烁情况.或者直接更改属性. 三.消 ...

  8. 【HTML5】SVG内联

    什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺 ...

  9. ThreadLocal使用和原理

    实现机制 1.每个Thread对象内部都维护了一个ThreadLocalMap这样一个ThreadLocal的Map,可以存放若干个ThreadLocal. /* ThreadLocal values ...

  10. Jquery用途

    封装JS,开源,操作方便,提高开发效率. 轻量级,选择器强大,浏览器兼容.