• Maven私服


    1.关于中央仓库注意事项
    地址: 目前来说: http://repo1.maven.org/maven2/是真正的 Maven 中央仓库的地址,该地址内置在Maven 的源码中,其他的都是镜像。
    索引: 中央仓库带有索引文件以方便用户对其进行搜索,完整的索引文件大小约为60M,索引每周更新一次。
    黑名单: 如果某个IP 地址恶意的下载中央仓库内容,例如全公司100 台机器使用同一个 IP 反复下载,这个 IP(甚至是 IP 段)会进入黑名单,因此稍有规模的使用Maven 时,应该用Nexus 架设私服。

    2.私服的好处

    1)缓存Maven 中央仓库的 jar 包,这样不需要每次本地仓库没有 jar 包就无需到中央仓库下载,而是到私服下载。

    (可以将私服理解为中央仓库的缓存。)
    2)有些公司无法上网,那如何连接中央仓库呢?只需连接私服,而私服能连网到中央仓库。
    3)方便公司内部不同团队或者项目共享 jar 包,需要共享jar 包,可以上传到私服,通过私服共享。

    3.Nexus 的安装

    下载网站:

    https://www.sonatype.com/download-oss-sonatype

    版本说明:

    (1)Nexus OSS ( OSS = Open Source Software)这个版本包含基于Sonatype 开源软件代码的基本功能和以包形式发布为开源的其他功能,免费试用许可证请查看下载后的二进制包。
    (2)Nexus Professional Nexus Professional CLM Edition这个是旗舰版,包含了专业版本的所有功能。需要购买许可证。
    (3)Nexus Professional Trial试用版,不包含Nexus Professional Nexus Professional CLM Edition所有的功能,官方目前((2015年03月31日))提供14天的试用期,同时安装包是以二进制的实行发布的(查看更多差异信息)。

    Nexus 的官网 http://www.sonatype.com/ ,下载 Nexus Repository Manager OSS 2.xx 。资料中已经下载“nexus-2.12.0-01-bundle.zip ”。也可以使用 “nexus-2.x.x.war”直接放置在tomcat 的webapps 目录下。

    将该压缩包解压

    打开下图所示路径(我的系统为Windows 64位,可根据实际配置进行选择)

    可以看到有很多命令,接下来我们逐一解释它们:

    (1)console-nexus.bat

      控制台启动nexus,双击后可以启动nexus。改启动方式的缺点:关闭窗口后就会停止。

    (2)install-nexus.bat

      安装Windows服务。以管理员身份运行。可在计算机的服务中查看:

    右键,启动服务。

    补充:若服务创建错误,需要删除,可在cmd中使用sc delete指令实现删除

    按下回车。(若无效,以管理员身份运行尝试)

    (3)start-nexus.bat

      启动nexus服务。

    (4)stop-nexus.bat

      停止nexus服务。

    提示:(3)、(4)方法通常在(2)的服务中实现

    (5)uninstall-nexus.bat

      服务卸载。双击后即可卸载本服务。

    进入该路径,找到以下文件,即nexus配置文件

     1 # Sonatype Nexus (TM) Professional Version is available from Sonatype, Inc. "Sonatype" and "Sonatype Nexus" are trademarks
     2 # of Sonatype, Inc. Apache Maven is a trademark of the Apache Software Foundation. M2eclipse is a trademark of the
     3 # Eclipse Foundation. All other trademarks are the property of their respective owners.
     4 #
     5 
     6 # Sonatype Nexus
     7 # ==============
     8 # This is the most basic configuration of Nexus.
     9 
    10 # Jetty section
    11 application-port=8081   #应用端口
    12 application-host=0.0.0.0
    13 nexus-webapp=${bundleBasedir}/nexus  #访问名称
    14 nexus-webapp-context-path=/nexus
    15 
    16 # Nexus section
    17 nexus-work=${bundleBasedir}/../sonatype-work/nexus
    18 runtime=${bundleBasedir}/nexus/WEB-INF
    19 
    20 # orientdb buffer size in megabytes
    21 storage.diskCache.bufferSize=4096

    在浏览器中访问:http:localhost:8081/nexus,进入nexus主页

    点击右上角的Log In登录

    nexus有一个默认用户,超级管理员

    用户名:admin

    密码:admin123

    登录后会发现可用功能增多

    4.nexus仓库

    仓库类别
    nexus 里可以配置3 种类型的仓库和组,分别是proxy、hosted、virtual、group。

    proxy:是远程仓库的代理。比如说在 nexus 中配置了一个 central repository 的proxy,当用户向这个 proxy 请求一个artifact,这个 proxy 就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。
    Hosted:是宿主仓库,用户可以把自己的一些构件,deploy 到 hosted 中,也可以手工上传构件到 hosted 里。比如说 oracle 的驱动程序,ojdbc6.jar,在 central repository 是获取不到的,就需要手工上传到hosted 里。
    virtual:也是中央仓库镜像,支持M1 老版本。
    Group:是仓库组,在maven 里没有这个概念,是nexus 特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在 pom 中配置多个地址,只要统一配置group 的地址就可以了右边那个Repository Path 可以点击进去,看到仓库中artifact 列表。

    中央仓库的默认配置

    具体仓库:

    3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
    Apache Snapshots: 用了代理ApacheMaven 仓库快照版本的构件仓库

    Central: 用来代理maven 中央仓库中发布版本构件的仓库
    Central M1 shadow: 用于提供中央仓库中M1 格式的发布版本的构件镜像仓库

    Releases: 用来部署管理内部的发布版本构件的宿主类型仓库
    Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库

    可上传第三方jar包

    Releases和Snapshot的区分:

    公司内部或组织内部的包通常放在这两个仓库。

    Releases是发布版本,Snapshot是临时版本/快照版本
    这两个都用于内部团队的共享

    5.实际开发中使用频率较高的仓库:

    (1)Public Repositories

      maven项目可以连接这个组,然后从组里面的每一个仓库搜索相应的jar包。

    (2)3rd party

      用于上传第三方的jar包。如Oracle的相关jar包。

    (3)Releases

    (4)Snapshots

  • 相关阅读:
    mysql 快速生成百万条测试数据
    DEV SIT UAT
    云计算的三层SPI模型
    go的下载
    redis主从 哨兵
    Mybatis 插入操作时获取主键 (Oracle 触发器与SEQ)
    oracle创建表空间
    mycat源码分析
    js判断是否是数字通用写法
    spring aop获取目标对象的方法对象(包括方法上的注解)
  • 原文地址:https://www.cnblogs.com/116970u/p/10142571.html
Copyright © 2020-2023  润新知