java用Nexus搭建maven私服

今天再更新一波。。。。。。

maven仓库分为两大类:1.本地仓库,2.远程仓库,而远程仓库又分为中央仓库,私服仓库,其他公共库

私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。(敲黑板)

好处,特性:

节省带宽,加速构建,自定义的构件上传内部共享,一个字,快!

搭建私服的过程:

我是用的最新版的nexus,   nexus-3.21.1-01

下载地址:https://www.sonatype.com/download-nexus-repo-oss  我下载的是windows版的,也是在windows10上搭建的

步骤:下载--解压,

进入图上第一个目录,再进入bin目录

我是双击启动的,之后浏览器访问:http://localhost:8081  (保证端口没被占用)

启动完是这个样子的,点击右上角的sign in 登录,密码存在I:\nexus\sonatype-work\nexus3 下面有个.password的文件,打开之后,复制登录即可,登录上首先要你修改默认密码,修改完之后原来存在的本地存密码的文件即自动删除了。

然后配置nexus

点击上图圈圈的设置齿轮

点击第一个仓库

这里有很多仓库,简单介绍下

central--中央仓库,默认从https://repo1.maven.org/maven2/拉取jar

releases --自定义的jar存储的仓库

snapshots-- 私库快照(调试版本)jar

public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。

我们点击

进去看看是不是这样

现在默认是从中央仓库拉取jar,我们把他改为aliyun的,岂不是更快。

 

 

点击create repository 创建

下拉找到上图,代理,

name 填写 aliyun-maven

第二个红框填写 http://maven.aliyun.com/nexus/content/groups/public/

之后滑到最下边,save保存

之后返回,就可以看到我们添加的仓库了

还没完,点击maven-public 往下拉,有一个类似mysql安装中选择要安装哪些项的图,

选择到右边,往上提到最上面第一位,然后网上拉,找到

复制,我们在maven -setting.xml中配置使用,最后拉倒最下边,save

<mirror>
        <id>myRepository</id>
        <name>myRepository</name>
        <url>http://localhost:8081/repository/maven-public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>

把这个配置在setting.xml中,就完成了,以后拉取jar直接从阿里云仓库里拉取了。

同时,它还有上传的功能

团队有了私有的镜像服务器以后,团队内部代码的依赖也就不再需要源码依赖了,大家可以通过发布不同版本的jar到nexus镜像上来供调用者直接通过Maven下载使用,这样不同研发人员直接的依赖也就没有那么强了,大家可以基于已经发布的版本进行各自的开发。(好处)

配置如下:

1. 在Nexus 中创建一个developer的角色,拥有的权利为【nx-repository-view-maven2-*-edit】和【nx-repository-view-maven2-*-add】权利,如果该角色将来可能还有nuget,npm相关上传权利,则将其权利改为【nx-repository-view-*-*-edit】和【nx-repository-view-*-*-add】权利。

2. 创建用户,用户拥有的角色为【nx-anonymous】和刚创建的【developer】角色。其中nx-anonymous角色是nexus默认自带的角色。

3. 在.m2文件夹下的settings.xml配置文件中增加<servers>的配置

1. 在Nexus 中创建一个developer的角色,拥有的权利为【nx-repository-view-maven2-*-edit】和【nx-repository-view-maven2-*-add】权利,如果该角色将来可能还有nuget,npm相关上传权利,则将其权利改为【nx-repository-view-*-*-edit】和【nx-repository-view-*-*-add】权利。

  2. 创建用户,用户拥有的角色为【nx-anonymous】和刚创建的【developer】角色。其中nx-anonymous角色是nexus默认自带的角色。

  3. 在.m2文件夹下的settings.xml配置文件中增加<servers>的配置

<?xml version="1.0" encoding="UTF-8"?>
<!-- for full reference, see also http://maven.apache.org/ref/3.2.3/maven-settings/settings.html -->
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <!-- 配置Maven服务器的账号信息,自动化部署的时候需要用到 -->
  <servers>
    <server>
      <id>server_id</id>
      <!-- 使用公共的developer/password账号进行日常的发布管理 -->
      <username>developer</username>
      <password>password</password>
    </server>
  </servers>

   <!-- 使用Mirror配置节可以强制所有包请求都会被转向内网Nexus服务器的地址 -->
  <mirrors>
      <mirror>
      <id>mirror_name</id>
      <mirrorOf>*</mirrorOf>
      <url>http://nexus_ip:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>
</settings>

4.  在需要上传jar资源的项目的pom.xml中增加<distributionManagement>配置,其中<id>设置需要跟.m2文件夹下的settings.xml中<servers>下的id相同。<url>需要指定nexus中配置的hosts Repository资源的地址

 

<distributionManagement>
        <repository>
            <id>server_id</id>
            <name>Nexus Release Repository</name>
            <url>http://nexus_ip:8081/repository/host-releases/</url>
        </repository>
    </distributionManagement>

通过mvn deploy 来发布jar资源到团队内部的镜像服务器即可。

最后这个SNAPSHOTS 用的不多,暂时不写了。需要的话,再写。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
搭建Maven私服可以使用Sonatype Nexus,它是一个功能强大的仓库管理器,可以帮助我们创建和管理Maven私服。下面是基于Nexus搭建Maven私服的详细步骤: 1. 准备环境:首先,确保你已经安装了Java环境,并且可以正常运行MavenNexus软件。 2. 下载和解压缩Nexus软件:从Sonatype官方网站下载最新版本的Nexus软件,并解压缩到合适的目录中。 3. 启动Nexus:使用命令行窗口进入Nexus软件的目录,然后执行 `./bin/nexus start` 命令来启动Nexus服务器。 4. 访问Nexus控制台:在浏览器中输入 `http://localhost:8081` 访问Nexus控制台,默认用户名和密码都是 `admin`,登录成功后,可以看到Nexus的管理界面。 5. 创建Maven仓库:在Nexus控制台中,点击左侧菜单的 `Repositories`,然后点击 `Create repository` 来创建新的Maven仓库。根据需要选择 `Hosted repository` 或者 `Proxy repository`,然后填写相应的配置信息,如仓库名称、URL、布局等。 6. 配置Maven项目:在你的Maven项目的pom.xml文件中添加Nexus私服的配置信息,包括ID、URL等,用来指定将Maven构建输出部署到Nexus仓库中。 7. 部署和使用:使用 `mvn deploy` 命令将项目打包并部署到Nexus私服中,当其他开发人员或者CI/CD服务器需要下载依赖时,只需要修改项目的settings.xml文件,指定Nexus私服的URL和凭据即可。 8. 其他设置:你还可以在Nexus控制台里进行其他设置,比如用户管理、访问控制、仓库代理等。 总结一下,使用Nexus搭建Maven私服非常简单,只需要几个基本的步骤即可完成。通过搭建Maven私服,我们可以有效地管理和共享项目的依赖包,提升团队的开发效率和项目的可维护性。这对于生产环境中的项目非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值