Maven私服(Nexus)的简介和使用

Nexus简介及小白使用IDEA打包上传到Nexus3私服详细教程 Nexus是一种远程仓库,也是私服的一种 阅读详情

私服安装

https://blog.youkuaiyun.com/javanbme/article/details/113336338

 

1. 仓库介绍

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

2)maven-releases:私库发行版jar

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

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

 

Nexus仓库类型介绍

默认安装有以下这几个仓库,在控制台也可以修改远程仓库的地址,第三方仓库等。

  • hosted(宿主仓库库) :存放本公司开发的jar包(正式版本、测试版本)
  • proxy(代理仓库):代理中央仓库、Apache下测试版本的jar包
  • group(组仓库):使用时连接组仓库,包含Hosted(宿主仓库)和Proxy(代理仓库)

找依赖包的流程: 首先在本地仓库中找,如果没命中,那么就找远程私服;远程私服的查找规则同样是先找host属性的私有库,然后再去找proxy属性的远程仓库;可以配置多个proxy;

 

2. 仓库介绍、创建

2.1 创建jCenter阿里云仓库

http://maven.aliyun.com/nexus/content/groups/public/

2.2 maven中央仓库(无需修改)

https://repo1.maven.org/maven2/

2.3 将Jcenter仓库移至maven-public 组仓库

 

3. 配置依赖

3.1 添加maven仓库镜像

创建好组仓库之后,修改setting.xml文件,添加maven仓库镜像,如下

<mirrors>
    <mirror>
      <id>nexus-myself</id>
      <!--*指的是访问任何仓库都使用我们的私服-->
      <mirrorOf>*</mirrorOf>
      <name>Nexus myself</name>
      <url>http://121.4.207.231:8081/repository/maven-public/</url>
    </mirror>
</mirrors>

3.2 全局配置下载依赖(即项目pom无需配置)

在maven的setting.xml文件中配置私服配置,这种方式配置后所有本地使用该配置的maven项目的pom文件都无需配置私服下载相关配置。

<profiles>
  <profile>
     <id>mycof</id>
        <repositories>
        <!-- 私有库地址-->
          <repository>
          <id>nexus</id>
          <url>http://121.4.207.231:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>      
      <pluginRepositories>
        <!--插件库地址-->
        <pluginRepository>
          <id>nexus</id>
          <url>http://121.4.207.231:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
           </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
</profiles>

3.3 激活使用上面的配置

<!--激活profile-->
<activeProfiles>
  <activeProfile>mycof</activeProfile>
</activeProfiles>

3.4 单独项目下载依赖(即项目pom文件中配置) (扩展)

这种配置是修改单个项目的pom文件,无需修改maven的setting配置

<repositories>
  <repository>
    <id>nexus</id>
    <url>http://121.4.207.231:8081/repository/maven-public/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

 

4. 上传Jar包到私服

对于中央仓库没有的jar包,需要我们自己将jar包发布到私服中去,其中jar包主要分为两类,

一类是本地自己开发供给项目组其余同事使用,这种直接配置项目的pom文件和maven的setting文件,之后deploy发布即可发布到;

另一类是第三方jar包,可以直接使用web页面上传并设置对应GAV即可;

 

4.1 本地maven开发的项目上传配置

maven的setting文件配置

<servers>
    <server>  
        <id>maven-releases</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>  
    <server>  
        <id>maven-snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>
  </servers>

项目中的pom文件配置

<distributionManagement>
    <repository>
        <id>maven-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://121.4.207.231:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>maven-snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://121.4.207.231:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

<profiles>
    <profile>
        <id>java8-doclint-disabled</id>
        <activation>
            <jdk>1.8</jdk>
        </activation>
        <properties>
            <javadoc.opts>-Xdoclint:none</javadoc.opts>
        </properties>
    </profile>
</profiles>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!--编译插件-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
                <!--解决JDK7以后,带com.sun.*的类库将不会被支持-->
                <!--<compilerArgument>-XDignore.symbol.file</compilerArgument>-->
                <compilerArguments>
                    <bootclasspath>${java.home}/lib/rt.jar:${java.home}/lib/jce.jar</bootclasspath>
                </compilerArguments>
            </configuration>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
        </plugin>
        <!-- 生成javadoc文档包的插件 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.9</version>
            <executions>
                <execution>
                    <id>attach-javadocs</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                        <additionalparam>${javadoc.opts}</additionalparam>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <!-- 生成sources源码包的插件 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <attach>true</attach>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>jar-no-fork</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!--部署jar包到远程仓库-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.7</version>
        </plugin>
    </plugins>
</build>

  执行maven的deploy命令

  ps: 第一次初始化有点慢 耐心等待  deploy成功之后查看依赖

  Release仓库默认不支持重复发布 如果项目中使用的是SNAPSHOT后缀 即不需要配置  快照版本会根据上传时间检测新的快照版本

 

4.2 第三方jar包上传

image.png

 

5. 引入私服Jar包

 

 

 

【Maven实战】之搭建Maven私服和镜像 搭建Maven私服和镜像教程 阅读详情

相关推荐

【nexus】根据nexus官方安装包构建 ARM nexus镜像

一、实验背景 我们使用nexus作为项目中docker镜像库,现在服务器要切ARM,但是nexus官方并不提供ARM版本的docker镜像。 我们知道,nexus本质上是一个java服务,只需要使用ARM架构的基础镜像和ARM架构的jre,然后将nexus的装包打进去,就能构建一个ARM架构的nexus 镜像。 鉴于手头没有ARM架构的服务器,我们有x86_64 的CentOS7.5 模拟...

michaelwoshi的博客 2682

centen os7 安装并配置Nexus3.9.0

准备工作: jdk 1.8 nexus-3.9.0-01-unix.tar.gz(可以到官网上去下载最新版本的) 客户端安装了maven 上传并解压安装包到/usr/local/java 修改配置 可以在nexus-default.properties文件中(位于/usr/local/java/nexus3.9.0/etc目录下)修改WEB访问端口等信息,默认为8081端口;(不...

weixin_39816740的博客 636

Maven教程-使用Nexus搭建私服

上图中的 nexus-2.12.0-01和sonatype-work目录就是解压tar包后的两个目录,nexus-2.12.0-01中是nexus的核心文件,sonatype-work,会将下载来的开发包放置在其中。当然我们也避免不了会使用到一些第三方的 jar ,而这些jar包也不存在于互联网上的maven中央仓库中,这时我们可以手工添加jar 到我们的私服中。1.在POM中配置Nexus私服,这样的配置只对当前的Maven项目有效。所部署的包就自动上传到了nexus安装目录下的。

2401_88972208的博客 832

maven仓库管理

上一节,我们讲解了maven的依赖管理,各模块系统从仓库下载依赖包。在实际工作中,我们有大量开发人员协同开发,如果我们都同时用maven中央仓库或者阿里云镜像仓库,需要每一个人都去下载一遍,白白浪费时间和网络资源。此时我们需要一个企业级私服,局域网内使用,各开发组负责的模块也上传到私服,供其它开发组下载使用。 1在搭建私服之前,我们需要搞清楚几个概念; 1.maven中央仓库,是一个远程仓库,可供任何人使用 2.阿里云镜像仓库,代理了maven中央仓库,大陆使用更快速 3.其它远程仓库,例如JBOSS,

lisheng19870305的专栏 1925

私服Nexus:maven开发必备常识

Maven私服搭建与使用指南 Maven私服是企业内部搭建的远程仓库服务器,用于管理项目的依赖构件。通过Nexus仓库管理器可以实现私服的搭建,主要包含三种仓库类型:宿主仓库(hosted)用于存储内部项目、代理仓库(proxy)用于缓存中央仓库内容、仓库组(group)合并多个仓库。搭建过程包括解压安装Nexus、配置端口和启动服务。使用私服需要配置settings.xml文件,设置发布和下载权限,并通过distributionManagement指定发布地址。项目构建后可执行deploy命令发布到私服,

weixin_62938484的博客 798

【MMDetection3.0实战】从零构建自定义数据集训练流程

本文详细介绍了使用MMDetection3.0框架从零开始构建自定义目标检测数据集的完整训练流程。内容涵盖环境配置、COCO格式数据准备、核心代码改造、模型配置与训练策略调优,以及最终的模型测试与验证,帮助开发者快速上手并训练自己的检测模型。

l6m7n8的博客 314

Maven——使用Nexus创建私服

Nexus简介、安装、构件搜索、下载构件、部署构件、权限管理、任务调度

码说芯语的博客 2081

深信服技术认证“SCCA-C”划重点:信服云托管云

该认证包括云数据中心基础、云计算基础、云计算关键技术、云计算交付和运维体系、云计算技术商业应用、信服云托管云、深信服超融合HCI、深信服桌面云aDesk、深信服分布式存储EDS、深信服应用交付AD。学习并获得SCCA-C认证后,可以具备深信服产品功能原理与实践,能够根据业务需求,协助完成云产品方案落地与实施;能够根据业务需求,完成深信服云产品的部署和管理的基本工作。为帮助大家更加系统化地学习云计算知识,高效通过云计算工程师认证,深信服特推出“SCCA-C认证备考秘笈”,共十期内容。

sangfor_edu的博客 613

使用 Docker 安装 Maven 私服 Nexus3

在现代软件开发中,私有仓库是企业管理和分发内部依赖的重要工具,能够提高开发效率、加强依赖管理并确保构建的稳定性。Nexus Repository Manager 作为市场上常见的私服解决方案,不仅支持 Maven,还支持 npm、PyPI 等多种格式,为团队提供了统一的制品管理平台。本文将介绍如何使用 Docker 快速部署 Maven 私服 Nexus3,帮助开发者搭建高效的依赖管理和分发环境,同时减少环境配置的复杂性和维护成本。

栗筝i的博客 4169

P450酶催化循环的Amber-Gromacs混合模拟实战:从血红素加氧到产物释放

本文详细介绍了针对P450酶完整催化循环的Amber-Gromacs混合模拟实战策略。通过Amber为关键氧合血红素中间体(CPDI)构建精确力场,再利用Gromacs的高效GPU加速进行长时间尺度动力学模拟,完整覆盖从底物结合到产物释放的催化过程,为研究酶催化机制提供了强大的计算工具。

weixin_29201859的博客 315

三极管特性曲线看不懂?手把手教你用Multisim仿真分析放大电路频率响应

本文针对模拟电路初学者,详细讲解如何利用Multisim软件进行电路仿真,将抽象的三极管特性曲线与放大电路频率响应分析变得直观可视。通过手把手教学,指导读者从导入三极管SPICE模型、仿真输出特性曲线,到分析动态工作点,最终使用波特图仪深入分析频率响应并进行补偿设计,有效帮助理解电路原理并指导实践调试。

weixin_29230059的博客 122

使用Nexus在Ubuntu环境下搭建Maven私服

最近公司上新项目,需要通过Nexus来搭建一套内部使用的Maven仓库,以前都是习惯直接从阿里云镜像仓库上直接拉取对应的jar包,这次也要自己体验一下,搭建一个属于自己的Maven仓库Maven 私服是一种特殊的Maven远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库,比如常见的阿里云镜像仓库)。这里要注意,并不是说Maven私服只能架设在局域网,像我前公司,就是把Maven私服部署到公网上的,当然架设在局域网标识着只能在公司内部使用,保密级别更高。

心向阳光的天域的博客 3799

GD32F450以太网(1):ETH 外设接口简介

GD32F450以太网ETH MAC外设接口简介

Zhichao_Zhang的博客 1万+

【Maven】Nexus私服

Maven 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。一些无法从外部仓库下载到的构件,如项目组其他人员开发的 jar 包,也能从本地上传到私服供其他人使用。

m0_46308522的博客 1244

超临界二氧化碳发电技术深度解析

超临界二氧化碳发电技术正在突破传统热电转换的物理边界。作为新一代发

硬核科技 602

《网络摄像机实战⑦:嵌入式端AWS KVS IoT SDK 库编译与测试全流程-君正/瑞芯微/全志(超详细指南)》

本文介绍了AWS音视频和物联网解决方案的核心组件与集成方法。主要内容包括:1)Amazon Kinesis Video Streams(KVS)提供的WebRTC托管服务,支持实时音视频流传输与双向交互;2)AWS IoT云服务实现设备连接与集成;3)详细说明了KVS WebRTC库的编译过程,包括源代码下载、CMake配置和依赖库生成;4)KVS Producer库的集成方法,重点阐述了存储空间调整和mbedtls版本适配等关键修改点。文章为开发者提供了AWS音视频和物联网服务的技术实现指南,特别针对嵌入

lvj_158的专栏 109

Maven私服Nexus安装与使用

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

2501_90252650的博客 776

万字数据仓库面试题及参考答案

星型模型由一个中心的事实表和多个外围的维度表组成,事实表存储度量值和事实,维度表存储描述性属性和维度。星型模型和雪花模型的区别在于雪花模型将维度表进一步细化,形成多层次的结构,而星型模型由一个中心事实表和多个维度表组成,适用于查询较为简单的情况。维度建模通常采用星型模型或雪花模型,将数据分为事实表和维度表,其中事实表存储度量值和事实,维度表存储描述事实的属性。三者之间的关系可以这样理解:数据仓库主要关注历史数据的存储和分析,数据中台则关注数据的服务化和资产化,而数据湖则关注原始数据的存储和多样性。

大模型大数据攻城狮的专栏 560

Maven 私服 Nexus 3.44 搭建

Maven 私服 Nexus 3.44 搭建

学习笔记! 2103

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

简单的maven nexus私服学习

简单的maven nexus 学习,包含部署以及上传下载maven包

qq_19342829的博客 3560

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Nexus搭建Maven私服并使用私服

前言:我们常用的maven仓库有中央仓库(全球共用),私有仓库(公司内部共用),和本地仓库(个人私有).类似代码托管大概有GitHub(全球代码托管)和gitee(国内版代码托管)和Gitlab(公司私有代码托管),所有一般公司要内部搭建的往往就是内部代码托管(Gitlab)和内部jar包托管(nexus私服),这里演示的主要是nexus私服的搭建,主要目的是学习并可以模拟maven上传自己的jar包到公司开发流程. 首先安装或者搭建服务器自然需要软件的,那么nexus软件下载地址: http://ww

长草颜团子 2273

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Nexus私服使Maven更加强大

前边简单介绍了Maven,而Maven默认提供的中央仓库是在远程网络服务Appache提供的,这对于我们开发时不合理的。如果我们没网了或者什么情况,我们怎么办?也就是说我们队中央仓库的依赖性太大。而Nexus私服则可以解决我们这个问题。先看下这张图应该大家就非才明白了:    这样就相当于在我们本地的局域网搭建了一个类似中央仓库的服务器,我们开始将中央仓库的一些资料下载到私服务器上,然后平时我们的

学会改变自己——才能突破 10万+

nexus3作为maven私服的使用

其实我的初衷就是用nexus来做maven私服的,在看了官方文档之后,我才发现自己真的是井底之蛙啊,哈哈! 登录nexus之后点击导航栏的"齿轮",这里面是nexus的服务管理和配置。 点击左侧菜单栏的"Repository"–>“Repositories” 上面这些是nexus自带的仓库,已经有了maven和nuget的仓库了。当然,你完全可以直接使用这些默认建好的仓库或者对仓库的配置...

嘻哈王大头 6375

Maven私服Nexus从安装到实战

Maven 私服是一种特殊的Maven远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。当然也并不是说私服只能建立在局域网,也有很多公司会直接把私服部署到公网,具体还是得看公司业务的性质是否是保密的等等,因为局域网的话只能在公司用,部署到公网的话员工在家里也可以办公使用。建立了 Maven 私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求和下载。请求本地仓库,若本地仓库不存在所需构件,则跳转到第 2 步;

weixin_53818428的博客 902

基于Nexus搭建Maven私服

Nexus 是 Sonatype 公司发布的一款仓库(Repository)管理软件,全称是Nexus Repository Manager,常用来搭建 Maven 私服,所以也有人将 Nexus 称为“Maven仓库管理器”。Maven 私服其实并不是 Maven 的核心概念,它仅仅是一种衍生出来的特殊的仓库,但这并不代表它不重要,相反由于私服具有降低中央仓库负荷、节省外网带宽、以及提高项目稳定性等优点,使得私服在实际开发过程中得到了相当普遍地使用。

CoderChronicle的博客 2795
上一篇: Linux下安装Maven私服(Nexus)及相关环境配置
下一篇: Linux下安装GitLab及相关环境配置
让程序飞
博客等级 码龄10年 8831粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让程序飞

您的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值