Maven教程4(私服-nexus)

仓库管理器也叫私服或代理仓库
仓库管理器有两个服务目的:首先它的角色是一个高度可配置的介于你的组织与公开Maven仓库之间的代理,其次它为你的组织提供了一个可部署你组织内部生成的构件的地方。

1Nexus介绍

Nexus是一个强大的Maven仓库管理器, 它极大地简化了自己内部仓库的维护和外部仓库的访问。
利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。
Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。
Nexus支持WebDAV与LDAP安全身份认证。

2安装Nexus

2.1下载

下载地址:https://www.sonatype.com/download-oss-sonatype
云盘下载:https://pan.baidu.com/s/1ZivSkF8KKAoI1NeP-Ne4-A 提取码:o7wb

2.2安装

解压到非中文路径下

在cmd下切换到bin目录执行 nexus install

以管理员身份打开cmd,否则有可以出现拒绝访问的问题

启动服务

==nexus start==

2.3测试访问

地址:http://localhost:8081/nexus
默认 账号: ==admin== 密码: ==admin123==

3nexus介绍


## 3.1 仓库类型
名称|说明
---|:---
group| 仓库组,包含宿主仓库和代理仓库
hosted|代表宿主仓库,存放本公司开发jar包,以及一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包
proxy|代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等
virtual|虚拟

## 3.2 默认仓库介绍
仓库名称|描述
-----|:-----
Public Repositories| 仓库组
3rd party| 无法从公共仓库获得的第三方发布版本的构件仓库
Apache Snapshots| 用了代理ApacheMaven仓库快照版本的构件仓库
Central| 用来代理maven中央仓库中发布版本构件的仓库
Central M1 shadow| 用于提供中央仓库中M1格式的发布版本的构件镜像仓库
Codehaus Snapshots| 用来代理CodehausMaven 仓库的快照版本构件的仓库
Releases| 用来部署管理内部的发布版本构件的宿主类型仓库
Snapshots| 用来部署管理内部的快照版本构件的宿主类型仓库

4nexus配置

4.1开启远程索引

方式一:

新搭建的neuxs环境只是一个空的仓库,需要手动和远程中心库进行同步,nexus默认是关闭远程索引下载,最重要的一件事情就是开启远程索引下载。登陆nexus系统,默认用户名密码为admin/admin123。点击左边Administration菜单下面的Repositories,找到右边仓库列表中的二个仓库Apache Snapshots,Maven Central,然后再没有仓库的configuration下把Download Remote Indexes修改为true。如下图

然后在Apache Snapshots,Codehaus Snapshots和Maven Central这三个仓库上分别右键,选择Repari Index,这样Nexus就会去下载远程的索引文件。

这样设置以后, Nexus会自动从远程中央仓库下载索引文件, 为了检验索引文件自动下载是否生效,切换到Browse Index

这种方式需要从远程站点下载,速度相对比较慢。

方式二、

直接给大家提供下载好的仓库索引文件,直接覆盖就可以了。
链接:https://pan.baidu.com/s/1_Rofajqlt4LaI8B_l9sUCg
提取码:616l
步骤:
1.先停止nexus服务

2.将给你文件解压缩。
3.删除该目录下所有文件%Nexus_Home%\sonatype-work\nexus\indexer\central-ctx。然后将解压的文件复制进去,

4.重启服务即可。

这样后面就不用再去官网查找了!!!

4.2创建宿主仓库

新建公司的内部仓库:
步骤为Repositories –> Add –> Hosted Repository,在页面的下半部分输入框中填入Repository ID和Repository Name即可,比如分别填入
myId 和 myRepostiory,另外把Deployment Policy设置为Allow Redeploy,点击save就创建完成了。


4.3创建Nexus仓库组

4.4如何在maven中使用自己的私服。

在setting.xml文件中:

的servers节点中添加

<server>
     <id>nexus</id>
     <username>admin</username>
     <password>admin123</password>
 </server>


其次在mirrors节点中配置:

<mirror>
  <id>nexus</id>
  <mirrorOf>*</mirrorOf>
  <name>Human Readable Name for this Mirror.</name>
  <url>http://localhost:8081/nexus/content/groups/DpbGroup/</url>
</mirror>


更新eclipse的配置
注意:一定把勾去掉,不然不会远程下载。

maven项目中通过坐标下载测试。

<dependency>
  <groupId>c3p0</groupId>
  <artifactId>c3p0</artifactId>
  <version>0.9.1.2</version>
</dependency>

==成功==

5上传jar包私服

1.在conf/setting.xml文件中配置认证

<server>
        <id>releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>

2.在将要上传的pom.xml中配置jar上传的路径

<!-- 配置上传私服路径 -->
  <distributionManagement>
    <repository>
        <id>releases</id>
        <url>http://localhost:8081/nexus/content/repositories/releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

3.执行上传命令 deploy

4.查看上传结果

6.上传特定jar包到私服

==Oracle驱动包==


<dependency>
  <groupId>com.dpb.oracle</groupId>
  <artifactId>ojdbc6-dpb</artifactId>
  <version>1.0.0</version>
</dependency>

通过此坐标使用

7.从私服上下载jar包

7.1在conf/setting.xml中配置 模板

<profile>
        <id>dev</id>
        <repositories>
            <repository>
                <id>nexus</id>
                <url>http://localhost:8081/nexus/content/groups/public/</url>
                <!--是否下载releases构件 -->
                <releases>
                    <enabled>true</enabled>
                </releases>
                <!--是否下载snapshots构件 -->
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>

        <pluginRepositories>
            <pluginRepository>
                <id>public</id>
                <name>Public_Repositories</name>
                <url>http://localhost:8081/nexus/content/groups/public/</url>
            </pluginRepository>
        </pluginRepositories>
    </profile>

7.2激活模板

  <!-- 激活模板-->
  <activeProfiles>
    <activeProfile>dev</activeProfile>
  </activeProfiles>

7.3测试使用

使用Oracle的jar包

8.私服中配置代理

虽然搭建了私服,但是如果私服中没有我们需要的jar包,它还是会去中央仓库去下载,这是速度同样很慢,这时我们可以在nexus中添加阿里的代理服务器。步骤如下:

远程地址是:http://maven.aliyun.com/nexus/content/groups/public/
在把该代理仓库添加到group中

如此:使用的时候就会先通过阿里镜像代理去下载

上一篇:Maven教程3(依赖管理)
下一篇:maven教程5(聚合工程)

原文地址:https://www.cnblogs.com/dengpengbo/p/10308121.html

时间: 2024-10-09 08:56:00

Maven教程4(私服-nexus)的相关文章

Maven教程3(依赖管理)

Maven教程2(Eclipse配置及maven项目) Maven项目,依赖,构建配置,以及构件:所有这些都是要建模和表述的对象.这些对 象通过一个名为项目对象模型(Project Object Model, POM)的XML文件描述.这个POM 告诉Maven它正处理什么类型的项目,如何修改默认的行为来从源码生成输出.同样 的方式,一个Java Web应用有一个web.xml文件来描述,配置,及自定义该应用,一个 Maven项目则通过一个 pom.xml文件定义.该文件是Maven中一个项目的

使用 Maven 部署 artifact 到 Nexus 教程

本文侧重讲解如何将已经按照好的 Maven 和 Nexus 连接,即如何通过 Maven 部署 artifact 到 Nexus. 本文前提: 1. 安装好 Maven.可以使用 Maven 创建.打包项目.关于安装 2. 安装好 Nexus.可以访问本地的 Nexus 仓库 http://localhost:8081/nexus/#welcome . 正文: 1. 配置 Maven 的配置文件 settings.xml 和 项目的说明文件 pom.xml ,使得 Maven 知道往哪里部署 ,

Maven私服nexus的安装与使用

1.Nexus的介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要.此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库.这些优点使其日趋成为最流行的Maven仓库管理

Centos 基础开发环境搭建之Maven私服nexus

1. 软件 a) 下载Nexus 地址:http://www.sonatype.org/downloads/nexus-2.1.2-bundle.tar.gz b) 如无特殊说明,本文档操作用户为nexus c) nexus默认的管理员用户名密码是:admin/admin123 2. 安装 a) 解压 1 $ tar zxvf nexus-2.1.2-bundle.tar.gz b) 移动到其他目录 1 $ mv nexus-2.1.2 /home/nexus/nexus c) 设置为系统自启动

安装配置maven私服-nexus

1.ubuntu下的Bundle安装方式 1.1. 去官网下载安装包:http://www.sonatype.org/nexus/ 我这里下载的是:nexus-2.8.1-01-bundle.zip,这个版本需要在jdk7下才能启动 1.2. 解压压缩包: sudo unzip nexus-2.8.1-01-bundle.zip 解压后,我这里是解压到了目录/opt/nexus/下边,在这里可以看到两个目录: nexus-2.8.1-01 和 sonatype-work 1.3. 配置文件: 打

Ubuntu server下搭建Maven私服Nexus

Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu server $ cd /opt $ wget http://download.sonatype.com/nexus/oss/nexus-2.10.0-02-bundle.tar.gz 2.启动 $ cd /opt/ $ tar -zxvf nexus-2.10.0-02-bundle.tar.g

如何配置maven项目连接私服(nexus)

maven连接私服的配置分为两步: 1.配置maven可以连接私服打包上传项目(maven的deploy指令)在maven安装目录下的配置文件settings.xml中添加:添加到servers标签内部 <server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server&

linux下安装maven私服nexus

Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要.此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库.这些优点使其日趋成为最流行的Maven仓库管理器.

Maven教程2(Eclipse配置及maven项目)

Maven教程1(介绍安装和配置) Eclipse中配置maven 1.Eclipse中默认集成的有Maven 可以使用默认的,本地仓库在当前用户下的.m2文件夹下. 2.配置我们自己安装的maven 2.1指定配置安装maven的路径 2.2重新指定setting.xml文件的位置 2.3setting.xml文件中添加代理服务器地址 中央仓库的地址在国外直接下载jar会很慢,所以我们需要通过代理的方式下载 <!-- 阿里代理镜像地址 --> <mirror> <id>