6_Maven仓库以及私服

来源:互联网 发布:华讯网络系统有限公司 编辑:程序博客网 时间:2024/04/29 11:35

Maven仓库

1 用来统一存储所有Maven共享构建的位置就是仓库,根据Maven坐标定义每个构建在仓库中唯一存储路径,大致为:groupId/artifactId/version/artifactId-version.packaging
2 仓库大致分为

1 本地仓库,存储在~/.m2/repository/位置,每个用户只有一个本地仓库2 远程仓库    1 中央仓库:Maven默认的远程仓库    2 私服:是一种特殊的远程仓库,它是架设在局域网内的仓库    3 镜像:用来替代中央仓库,速度一般比中央仓库快

私服的配置

为什么要配置私服Nexus

私服

  • 节省带宽和时间,Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件,但是一个部门的每个人都需要从中央仓库下载,浪费时间和带宽,所以在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库。如图所示。
  • 公司内部的项目,构件,基础架构可以放在私服中,供整个部门引用。
  • 他还提供了强大的仓库管理功能,占用较少的内存,基于简单文件系统而非数据库。

私服的配置步骤

Bundle安装方式

1 此种方式,系统自带了jetty容器。
2 下载nexue-bundle.zip,也可以去官网下载
3 解压后,得到两个子目录:

1 nexus-2.11.2-06,该目录包含了Nexus 运行所需要的文件,如启动脚本、依赖jar包等。2 sonatype-work,该目录包含Nexus生成的配置、日志文件、仓库文件等。3 其中,第一个目录是运行Nexus所必须的,而且所有相同版本Nexus实力所包含的该目录内容都是一样的。4 第二个目录不是必须的,Nexus会在运行的时候动态创建该目录,不过他的内容对于各个Nexus实例不一样的,因为不同用户在不同机器上使用的Nexus会有不同的配置和仓库内容。5 当用户需要本分Nexus的时候,默认备份sonatype-work/目录,因为该目录包含了用户特定的内容,而nexus-2.11.2-06目录下的内容是可以从安装包直接获取的。

4 设置环境变量

1 不设置也可以,可以到X:\nexus\nexus-2.11.2-06\bin下找命令nexus.bat2 设置:找到nexus目录下nexus-2.11.0-02中的bin文件夹,将至bin的目录路径加入到操作系统的path变量中3 按照如下操作执行命令。

执行命令

注意:一定要以管理员权限运行cmdinstall : 将其安装为windows服务,只需安装一次对应的uninstallstart/restart/stop:安装后即可进行启动/重启/关闭操作console : 是不安装,每次需要执行时即可运行。4 如图为运行结果

这里写图片描述

WAR安装方式(官网已经不支持下载)

1 首先需要一个本地的容器,以tomcat为例
2 将下载的nexus-2.9.0.war拷贝到tomcat的webapp目录下,为了操作方便可以将文件重命名为nexus.war
拷贝
3 启动tomcat,在地址栏输入http://localhost:8080/nexus即可
这里写图片描述
4 这时在你的用户目录下有一个名为 sonatype-work/nexus 的文件夹,该文件夹下面存储了Nexus相关的配置文件,以及Nexus仓库的内容,很多人都不愿意存放在这里,可以采用以下方法修改nexus存储地址:

1 新建环境变量:PLEXUS_NEXUS_WORK :D:/nexus(你希望的目录)2 配置WAR中的 WEB-INF\classes\nexus.properties 文件,如   nexus-work=/nexus 。

这里写图片描述

Nexus的操作

  • 登陆:默认管理员用户:ID:admin ,PWD: admin123
  • 仓库介绍
    默认的仓库
    以上几个仓库是nexus预装的仓库(详见注解1)
    各种仓库之间关系

部署构件至Nexus

1 配置所有构建均从私服下载
在~/.m2/setting.xml中配置如下:

```<!--此处配置所有的构建均从私有仓库中下载 *代表所有,也可以写central --><mirrors> <mirror>             <id>nexus</id>     <mirrorOf>*</mirrorOf>      <url>http://localhost:8081/nexus/content/groups/public/</url></mirror></mirrors>
<profiles>    <profile>         <id>nexus</id>         <!--所有请求均通过镜像 -->         <repositories>             <repository>                 <id>central</id>                 <url>http://central</url>                 <releases><enabled>true</enabled></releases>                 <snapshots><enabled>true</enabled></snapshots>             </repository>         </repositories>         <pluginRepositories>             <pluginRepository>                 <id>central</id>                 <url>http://central</url>                 <releases><enabled>true</enabled></releases>                 <snapshots><enabled>true</enabled></snapshots>             </pluginRepository>         </pluginRepositories>     </profile></profiles><activeProfiles> <!--make the profile active all the time -->     <activeProfile>nexus</activeProfile></activeProfiles>2 部署构建到Nexus,包含Release和Snapshot, 在项目根目录中pom.xml中配置:<distributionManagement>     <repository>         <id>releases</id>         <name>Internal Releases</name>      <url>http://localhost:8081/nexus/content/repositories/releases/</url>     </repository>     <snapshotRepository>         <id>snapshots</id>         <name>Internal Snapshots</name>         <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>     </snapshotRepository>   </distributionManagement>

3 Nexus的访问权限控制,在~/m2/setting.xml中配置如下:

<!-- 设置发布时的用户名 --> <servers>    <server>        <id> releases </id>        <username>admin</username>        <password>admin123</password>    </server>    <server>        <id> snapshots </id>        <username>admin</username>        <password>admin123</password>    </server> </servers>

1 Windows下使用Nexus创建私服

2 Nexus入门指南

3 使用Nexus创建私服

0 0