1. 1.hosted,宿主仓库,部署自己的jar到这个类型的仓库,包括releasessnapshot两部分,Releases公司内部发布版本仓库、 Snapshots 公司内部测试版本仓库
  1. 2.proxy,代理仓库,用于代理远程的公共仓库,如maven中央仓库,用户连接私服,私服自动去中央仓库下载jar包或者插件。
  1. 3.group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置自己的maven连接仓库组。
  2. 4.virtual(虚拟):兼容Maven1 版本的jar或者插件
  3. 注意:nexus仓库默认在sonatype-work目录中
  4. 需求 :将ssh_dao的这个工程打成jar包,并放入到私服上去.
  5. 配置
  6. 第一步: 需要在客户端即部署dao工程的电脑上配置 maven环境,并修改 settings.xml 文件,配置连接私服的用户和密码
  7. 此用户名和密码用于私服校验,因为私服需要知道上传都 的账号和密码 是否和私服中的账号和密码 一致。
  8. <server>
  9. <id>releases</id>
  10. <username>admin</username>
  11. <password>admin123</password>
  12. </server>
  13. <server>
  14. <id>snapshots</id>
  15. <username>admin</username>
  16. <password>admin123</password>
  17. </server>
  18. releases 连接的是 发布版本项目仓库
  19. snapshots 连接的是 测试版本项目仓库
  20. 第二步: 配置项目pom.xml
  21. 配置私服仓库的地址,本公司的自己的jar包会上传到私服的宿主仓库,根据工程的版本号决定上传到哪个宿主仓库,
    如果版本为release则上传到私服的release仓库,如果版本为snapshot则上传到私服的snapshot仓库
  22. <distributionManagement>
  23. <repository>
  24. <id>releases</id>
  25. <url>http://localhost:8081/nexus/content/repositories/releases/</url>
  26. </repository>
  27. <snapshotRepository>
  28. <id>snapshots</id>
  29. <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
  30. </snapshotRepository>
  31. </distributionManagement>
  32. 注意:pom.xml这里<id> Maven中的settings.xml 配置 <id> 对应!
  33. 测试
  34. 将项目dao工程打成jar包发布到私服:
  35. 1、首先启动nexus
  36. 2、对dao工程执行deploy命令

  

  1. 从私服下载jar
  2.  
  3. 需求:
  4. 没有配置nexus之前,如果本地仓库没有,去中央仓库下载,
    通常在企业中会在局域网内部署一台私服服务器,
    有了私服本地项目首先去本地仓库找jar
    如果没有找到则连接私服从私服下载jar包,
    如果私服没有jar包私服同时作为代理服务器从中央仓库下载jar包,
    这样做的好处是一方面由私服对公司
    项目的依赖jar包统一管理,一方面提高下载速度,
    项目连接私服下载jar包的速度要比项目连接中央仓库的速度快的多。
  5.  
  6. 本例子测试从私服下载dao 工程jar包。
  7. 管理仓库组:
  8. nexus中包括很多仓库,hosted中存放的是企业自己发布的jar包及第三方公司的jar包,
        proxy中存放的是中央仓库的jar,为了方便从私服
    下载jar包可以将多个仓库组成一个仓库组,每个工程需要连接私服的仓库组下载jar包。
  9.  
  10. setting.xml中配置仓库:
  11. 在客户端的Mavensetting.xml中配置私服的仓库,
       由于setting.xml中没有repositories的配置标签需要使用profile定义仓库。
  12.  
  13. <profile>
  14. <!--profileid-->
  15. <id>dev</id>
  16. <repositories>
  17. <repository>
  18. <!--仓库idrepositories可以配置多个仓库,保证id不重复-->
  19. <id>nexus</id>
  20. <!--仓库地址,即nexus仓库组的地址-->
  21. <url>http://localhost:8081/nexus/content/groups/public/</url>
  22. <!--是否下载releases构件-->
  23. <releases>
  24. <enabled>true</enabled>
  25. </releases>
  26. <!--是否下载snapshots构件-->
  27. <snapshots>
  28. <enabled>true</enabled>
  29. </snapshots>
  30. </repository>
  31. </repositories>
  32. <pluginRepositories>
  33. <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
  34. <pluginRepository>
  35. <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
  36. <id>public</id>
  37. <name>Public Repositories</name>
  38. <url>http://localhost:8081/nexus/content/groups/public/</url>
  39. </pluginRepository>
  40. </pluginRepositories>
  41. </profile>
  42.  
  43. 使用profile定义仓库需要激活才可生效。
  44.  
  45. <activeProfiles>
  46. <activeProfile>dev</activeProfile>
  47. </activeProfiles>
  48.  
  49. 配置成功后通过eclipse查看有效pom,有效pommaven软件最终使用的pom内容,程序员不直接编辑有效pom,打开有效pom
  50.  
  51. 有效pom内容如下:
  52. 下边的pom内容中有两个仓库地址,maven会先从前边的仓库的找,如果找不到jar包再从下边的找,从而就实现了从私服下载jar包。
  53. <repositories>
  54. <repository>
  55. <releases>
  56. <enabled>true</enabled>
  57. </releases>
  58. <snapshots>
  59. <enabled>true</enabled>
  60. </snapshots>
  61. <id>public</id>
  62. <name>Public Repositories</name>
  63. <url>http://localhost:8081/nexus/content/groups/public/</url>
  64. </repository>
  65. <repository>
  66. <snapshots>
  67. <enabled>false</enabled>
  68. </snapshots>
  69. <id>central</id>
  70. <name>Central Repository</name>
  71. <url>https://repo.maven.apache.org/maven2</url>
  72. </repository>
  73. </repositories>
  74. <pluginRepositories>
  75. <pluginRepository>
  76. <id>public</id>
  77. <name>Public Repositories</name>
  78. <url>http://localhost:8081/nexus/content/groups/public/</url>
  79. </pluginRepository>
  80. <pluginRepository>
  81. <releases>
  82. <updatePolicy>never</updatePolicy>
  83. </releases>
  84. <snapshots>
  85. <enabled>false</enabled>
  86. </snapshots>
  87. <id>central</id>
  88. <name>Central Repository</name>
  89. <url>https://repo.maven.apache.org/maven2</url>
  90. </pluginRepository>
  91. </pluginRepositories>

  

nexus的jar包上传与下载的更多相关文章

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

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

  2. 构建自己的jar包上传至Mvaen中央仓库和版本更新

    构建自己的jar包上传至Mvaen中央仓库和版本更新 一直羡慕别人制造轮子,开源项目,供别人使用:我也想这样,可以自己才疏学浅,本次就将自己写小工具上传到Maven的中央仓库. 一步一步详细教程演示如 ...

  3. Maven中安装本地Jar包到仓库中或将本地jar包上传

    摘要 maven install 本地jar 命令格式 mvn install:install-file -DgroupId=<group_name> -DartifactId=<a ...

  4. 用eclipse怎样将本地的项目打成jar包上传到maven仓库

    使用maven的项目中,有时需要把本地的项目打成jar包上传到mevan仓库. 操作如下: 前提:pom文件中配置好远程库的地址,否则会报错 1.将maven 中的settings文件配置好用户名和密 ...

  5. maven jar包上传到服务器

    maven jar包上传到服务器时出现pom文件没有上传上去,致使该jar包再被使用的时候没有依赖,jar包调用出错 解决办法,将pom文件一起deploy上去 mvn deploy:deploy-f ...

  6. Apache Flink任意Jar包上传导致远程代码执行漏洞复现

    0x00 简介 Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎.Flink以数据并行和流水线方式执行任意流数据程序,Fl ...

  7. IDEA如何将写好的java类(UDF函数)打成jar包上传linux

    一.编写一个UDF函数,实现将字符串大写转小写 import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; ...

  8. Apache Flink Dashboard未授权访问导致任意Jar包上传漏洞

    漏洞危害 攻击者无需Flink Dashboard认证,通过上传恶意jar包 csdn-[漏洞复现]Apache Flink任意Jar包上传导致远程代码执行 freebuf-Apache Flink ...

  9. 第三方jar包上传私服和项目使用

    下面只做个人日志记录,勿喜勿喷 使用两个浏览器,带着下面的问题去看:https://www.cnblogs.com/tyhj-zxp/p/7605879.html.就会清晰了 1.下载和安装nexus ...

随机推荐

  1. 剑指Offer_编程题_19

    题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2, ...

  2. Entity Framework入门教程(4)---EF中的实体关系

    这一节将总结EF是怎么管理实体之间的关系.EF与数据库一样支持三种关系类型:①一对一 ,②一对多,③多对多. 下边是一个SchoolDB数据库的实体数据模型,图中包含所有的实体和各个实体间的关系.通过 ...

  3. OpenStack VS Kubernetes,谁是你心中的王者?

      当下云计算的领域里热度最高的两个项目,无疑是OpenStack和Kubernetes.如果云计算是一个风起云涌的江湖,毫不夸张的说OpenStack和Kubernetes就是江湖里的泰山北斗.Op ...

  4. MD5 两次加密

    1.添加依赖 <dependency> <groupId>commons-codec</groupId> <artifactId>commons-cod ...

  5. luogu 3084 单调队列+dp

    注意处理出两个数组: r[i] 能覆盖i点的区间的左端点最小值(覆盖左侧最远处) l[i] i不能覆盖的区间的左端点左端点最大值 在该区间内寻找用来更新f[i] 答案的 j 即 l[i]<= j ...

  6. KL散度

    摘自: https://www.jianshu.com/p/43318a3dc715?from=timeline&isappinstalled=0 一.解决的问题 量化两种概率分布P和Q可以使 ...

  7. UE4渲染笔记

    Lightmass 实时渲染光影效果对性能有很大影响,可利用lightmass预先生成光影贴图,然后在游戏中使用. 将场景光照结果完全烘焙到模型贴图上,从而完完全全的假冒现实光照效果. 文档上是 li ...

  8. Codeforces Round #545 (Div. 2) C. Skyscrapers 离散化+贪心

    题目链接 给你一个n∗m的矩阵res,让你输出一个n∗m的矩阵a,这个矩阵满足:给你一个n*m的矩阵res,让你输出一个n*m的矩阵a,这个矩阵满足:给你一个n∗m的矩阵res,让你输出一个n∗m的矩 ...

  9. sql server 2008 中的 server profiler 的简单使用

    server profiler 是一个SQL server的 数据库执行语句的监控工具. 登录你需要监控的数据库. 2 .设置要监控进程的PID. 3.设置监控的数据库. 4 . 最后点击运行 就可以 ...

  10. 【Java】Java随手记

    System.out.printf() : System.out.printf("%d",x);               输出整数 System.out.printf(&quo ...