首页 > 系统相关 >Windows使用Nexus搭建Maven私服

Windows使用Nexus搭建Maven私服

时间:2023-08-09 10:58:12浏览次数:42  
标签:Windows Nexus 私服 仓库 Maven nexus jar tb

简介

Maven私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件,有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库,否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。

下载(version-2.x)

官网下载页:https://www.sonatype.com/download-oss-sonatype

链接:https://pan.baidu.com/s/1z-L29iFBD4y_i1PRMzwryA
提取码:tk3h

安装 【在安装Nexus前我们要确保系统已经安装了JDK1.8】

  • 解压安装包nexus-2.14.1-02-win.zip,打开命令提示符【需要以管理员身份运行cmd命令行窗口】,进入nexus-2.14.1-02-win.zip/bin目录
  • 安装命令

    nexus.bat install

     

  • 卸载命令
    nexus.bat uninstall

     

  • 打开服务窗口,nexus已安装,右键启动该服务

     

  • 打开浏览器,访问:http://localhost:8081/nexus/

     

  • 点击右上角Log In,使用默认账号:admin,密码:admin123登录, 到这里我们就已经完成了私服的搭建。

 

二、Nexus修改默认端口

1、找到Nexus的配置文件nexus.propertiesNexus根目录/conf/nexus.properties

 

2、更改为自定义端口

 

3、修改管理员账号密码

使用管理员账号登录后点击上方profile,进入到个人信息页面即可修改密码

 

4、Nexus仓库类型介绍

登陆Nexus,在左边菜单栏里选择Repositoriesrepository的类型有一下几种:

  • hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第三方库
  • proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库
  • group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可
  • Nexus预置了3个本地仓库,分别是ReleasesSnapshots3rd Party

    • Releases:存放自己项目中发布的构建, 通常是Release版本的
    • Snapshots:存放非release版本, 非稳定版本
    • 3rd Party: 存放第三方库

    Nexus建库

    Add-->HostedRepository

     

    然后选择PublicRepositories,打开configuration选项卡,将自己创建的仓库添加到group,如图从右侧移到左侧,点击save保存,至此,已经成功搭建好自定义的仓库了

    Nexus创建账号

    按图创建账号

     

    jar包上传下载配置

    • 远程仓库认证,在settings.xml中配置<servers>节点
      <servers>
            <server>
              <id>tbsnexus</id>
              <username>tb-user</username>
              <password>P@ssw0rd</password>
            </server>
      </servers>

      上述代码中配置了一个idtbsnexus的远程仓库认证信息,Maven使用settings.xml文件中的servers元素及其子元素server配置仓库认证信息,认证用户名为tb-user,认证密码为P@ssw0rd,这里的关键是id元素,id没有要求,随便定义,但是后面配置远程仓库的id必须和这里的id保持一致,正是这个id将认证信息与仓库配置联系在了一起

     

    配置远程仓库

    <profiles>
        <profile>
          <id>tbsnexus</id>
          <repositories>
            <repository>
              <id>tb-repositories</id>
              <name>Repository for tb-repositories</name>
              <url>http://39.100.65.160:8081/nexus/content/repositories/tb-repository/</url>
              <releases>
                <enabled>true</enabled>
              </releases>
              <snapshots>
                <enabled>true</enabled>
              </snapshots>
            </repository>
          </repositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>tbsnexus</activeProfile>
    </activeProfiles>

    配置仓库镜像

    <mirror>
        <id>tb-repositories</id>
        <mirrorOf>*</mirrorOf>
        <url>http://39.100.65.160:8081/nexus/content/repositories/tb-repository/</url>
    </mirror>
    <!--配置阿里云Maven镜像-->
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    <!--配置华为云Maven镜像-->
    <mirror>
        <id>huaweicloud</id>
        <mirrorOf>*</mirrorOf>
        <url>https://mirrors.huaweicloud.com/repository/maven/</url>
    </mirror>

     

    默认的,如果本地仓库找不到依赖的构件,这时需要东西时先到Nexus上找,如果发现Nexus服务关闭后,会自动到中央仓库找,至此,已经可以私服下载jar包了

    上传jar

    • 定位到要上传的jar包的目录
    • 执行命令
      mvn deploy:deploy-file -DgroupId=com.tbtech -DartifactId=tb-tools -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=tb-tools-1.0-SNAPSHOT.jar -Durl=http://39.100.65.160:8081/nexus/content/repositories/tb-repository -DrepositoryId=tbsnexus
      • deploy:deploy-file表示发布独立的文件
      • groupIdartifactIdversion可根据需要设定
      • urlNexus服务器中需要上传的仓库路径
      • repositoryIdserverid必须一致
      • 上传结果

         

         

        上传成功后,我们只需在pom.xml中引入<dependency>就可以下载该jar包了

         

        <dependency>
          <groupId>com.tbtech</groupId>
          <artifactId>tb-tools</artifactId>
          <version>1.0-SNAPSHOT</version>
        </dependency>

         

标签:Windows,Nexus,私服,仓库,Maven,nexus,jar,tb
From: https://www.cnblogs.com/Fooo/p/17616269.html

相关文章

  • Windows此系统上禁止运行脚本
    这个问题通常是因为PowerShell执行策略限制所导致的。默认情况下,PowerShell执行策略被设置为Restricted,不允许执行任何脚本。为了解决这个问题,可以通过以下步骤修改PowerShell执行策略:以管理员身份打开PowerShell。运行以下命令以查看当前的PowerShell执行策略:Get-E......
  • Windows系统 如何配置Maven的本地仓库 【详解Maven settings.xml配置(指定本地仓库、
    1.确认安装Maven首先,我们需要确认已在计算机上安装了Maven。你可以从Maven官方网站:https://archive.apache.org/dist/maven/maven-3/下载适合你代码ide版本的Maven安装包,比如我idea2019就下载maven3.5-3.6之间的版本。1、先新建名为MAVEN_HOME的变量,值为你的的maven解压路径......
  • 在最新更新的 Windows 系统中使用 .net 程序调用一些 https 接口时出现错误:请求被中止
    这是因为出于安全原因,新更新的系统中会默认禁用一些已经过时不安全的加密协议如:SSL3.0、TLS1.0、TLS1.1等但并不是所有接口服务器都已经更新支持了更新的协议所以在确认安全的情况下,可以将这些旧的协议再次启用,以达到兼容旧接口调用的目的方法1:注意:这个修改会在系统全局......
  • Windows加域后通过注册表取消壁纸锁定更换壁纸
    打开注册表:开始--运行--regedit(快捷键Win+R)然后找到HKEY_CURRENT_USER==>Software==>Microsoft==>Windows==>CurrentVersion==>Policies,可以输入如下路径到路径栏计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies该目录下有两个子......
  • 开放windows服务器端口-----以打开端口8080为例
    本文记录两个内容:1.win7下打开端口2.服务器(2003或者其他老版的系统以2003为例)测试端口时可用telnet命令 侦听端口:C:\DocumentsandSettings\administrator>netstat-na测试端口是否开放:C:\DocumentsandSettings\administrator>telnet127.0.0.18500正在连接到127.0.0.1........
  • 【C++第三方库】Windows下编译和使用websocketpp
    应用场景:使用C++开发一个支持websocket协议的服务进程,可与HTML5(浏览器js文件)通信。来实现替换基于firebreath框架的跨浏览器插件开发。当前,讲述websocketpp开源库的应用。目的是为了实现C++进程,支持websocket协议。但WebSocketpp是一个开源库,依赖于Boost和OpenSSL资源准......
  • maven打包跳过test代码几种方式
    maven打包跳过test代码几种方式spring项目处理:<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skip>true</skip&......
  • 【Windows】Windows10系统下Hadoop和Hive环境搭建
    环境准备软件版本备注Windows10操作系统JDK8暂时不要选用大于等于JDK9的版本,因为启动虚拟机会发生未知异常MySQL8.x用于管理Hive的元数据ApacheHadoop3.3.1-ApacheHive3.1.2-ApacheHivesrc1.2.2因为只有1.x版本的Hive源码提供了.bat启......
  • 在windows上使用_netrc文件让Git记住用户名和密码(Linux文件名为.netrc)
    windowsnetrc文件是什么。根据我搜索到的结果,windowsnetrc文件是一种用于保存网络身份验证信息的文件,例如用户名和密码。它可以被一些命令行工具和应用程序使用,比如Git、curl、ftp等。windowsnetrc文件的格式如下:machine<hostname>login<username>password<password>......
  • windows api录音pcm
    pcm.h#pragmaonce#include<cstdio>#include<cstdint>#include<Windows.h>#pragmacomment(lib,"winmm.lib")classpcm{public: pcm(); ~pcm(); voidstartRecording(); voidendRecording();private: structWavPCMFileHead......