Maven教程4(私服-nexus)

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


 仓库管理器也叫私服或代理仓库

 仓库管理器有两个服务目的:首先它的角色是一个高度可配置的介于你的组织与公开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安装

解压到非中文路径下

image.png

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

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

启动服务

nexus start

image.png

2.3测试访问

地址:http://localhost:8081/nexus

默认 账号: admin 密码: admin123

image.pngimage.png

3nexus介绍

image.png

3.1 仓库类型

image.png

3.2 默认仓库介绍

image.png

4nexus配置

4.1开启远程索引

方式一:

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

image.png

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

image.png

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

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

方式二、

 直接给大家提供下载好的仓库索引文件,直接覆盖就可以了。

链接:https://pan.baidu.com/s/1_Rofajqlt4LaI8B_l9sUCg

提取码:616l

步骤:

1.先停止nexus服务

image.png

2.将给你文件解压缩。

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

image.png

4.重启服务即可。

image.png

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

4.2创建宿主仓库

新建公司的内部仓库:

步骤为Repositories –> Add –> Hosted Repository,在页面的下半部分输入框中填入Repository ID和Repository Name即可,比如分别填入

myId 和 myRepostiory,另外把Deployment Policy设置为Allow Redeploy,点击save就创建完成了。

image.pngimage.pngimage.png


4.3 私服中配置代理

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

image.png

远程地址是:http://maven.aliyun.com/nexus/content/groups/public/

在把该代理仓库添加到group中

image.png

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

4.4 创建Nexus仓库组

image.png

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

在setting.xml文件中:

image.png

的servers节点中添加

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

image.png

其次在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>

image.png

更新eclipse的配置

image.png

注意:一定把勾去掉,不然不会远程下载。

image.png

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

image.png

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

image.pngimage.png

成功

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>

image.png

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>

image.png

3.执行上传命令 deploy

image.pngimage.pngimage.png


4.查看上传结果

image.png

6.上传特定jar包到私服

Oracle驱动包

image.pngimage.pngimage.pngimage.pngimage.png

<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>

image.png

7.2激活模板

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

image.png

7.3测试使用

使用Oracle的jar包

image.png

相关文章
|
2月前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
103 3
|
3月前
|
Java Linux Maven
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
66 0
|
5月前
|
Java 应用服务中间件 程序员
Maven教程--下(包括手动实现)
Maven教程--下(包括手动实现)
81 0
|
2月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)
【2月更文挑战第13天】《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程) 上一篇文章,宏哥已经在搭建的java项目环境中实践了,今天就在基于maven项目的环境中给小伙伴们 或者童鞋们演示一下。
71 1
|
5月前
|
存储 Java 测试技术
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
301 0
|
4月前
|
Java 应用服务中间件 Maven
idea配置本地maven保姆级教程
idea配置本地maven保姆级教程
330 0
|
14天前
|
Java 测试技术 项目管理
Java基础教程(22)-构建工具Maven的基本使用
【4月更文挑战第22天】Maven是Java项目管理及构建工具,简化构建、测试、打包和部署等任务。遵循约定优于配置原则,核心是`pom.xml`配置文件,用于管理依赖和项目信息。安装涉及下载、解压、配置环境变量。在IDEA中使用Maven创建项目,通过`pom.xml`添加依赖和管理版本。常用命令包括`clean`、`compile`、`test`、`package`、`install`和`deploy`。IDEA支持直接执行这些命令。
|
16天前
|
Java Apache Maven
Maven 教程
Maven是一个由Apache开发的项目管理工具,基于POM概念,用于Java项目的构建、依赖管理和文档生成。它支持多种语言,如C#、Ruby等,并设有一套标准目录结构,遵循约定优于配置原则。Maven负责构建、报告、资源管理、发布和分发等工作,并维护一个本地仓库(~/.m2/repository)存储依赖。
|
5月前
|
Java Maven 数据安全/隐私保护
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
450 0
|
2月前
|
Java 测试技术 Maven
《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
【2月更文挑战第11天】《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程) 是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。由于现在企业和公司中Java的大部分项目都是基于Maven, 因此宏哥为了照顾到企业或者公司用的java项目中用到maven的童鞋或者小伙伴们,这里也简单的介绍和分享一下。在Maven项目中使用Selenium. 非常简单。
81 3