在互联网项目开发浪潮中,maven成为了项目管理依赖的重要工具,更多时候maven只作为拉取外部依赖的手段。但出于安全的考虑的,部门企业难免封装一些私有的工具类,或开源框架的二次开发封装,maven私服应运而生了。私服是优先从私有本地仓库拉取对应的资源,如果没有依然会从maven大环境中寻找。下面是maven如何搭建私服、从私服下载资源、上传本地代码到私服的过程。

一 搭建私服环境(本文使用版本 nexus-3.32.0-03-win64)

使用Nexus来搭建本地的Maven服务器,可从官网下载http://www.sonatype.org/nexus/downloads/

也可以从本人上传的资源下载:https://download.csdn.net/download/higherzjm/20356076 ,说到CSDN资源共享有点无语,有些太昂贵了,需要10分20分积分,甚至还有70分 的

下载完zip后进行解压,用cmd进入bin目录,使用nexus.exe /run命令进行启动,第一次启动需要进行大量的初始化信息,会比较慢。

启动完之后用默认8081端口打开 http://127.0.0.1:8081/,默认端口可修改,默认登入用户名admin,该版本的默认密码并不是admin123,第一次打开页面会引导你找初始化密码,并引导你修改密码。

登入完之后新建你要的私服仓库信息

类型选择maven2(hosted)

编写参考信息,图中三处画红色的跟项目的发布关系很大,

name:仓库名称,也是吃,仓库id,跟项目中的仓库地址和maven settings.xml的参考信息一致

version pollcy:版本类型,有Release,Snapshot,Mixed,项目中pom.xml  version要跟选择的一致

hosted:托管选择是否可发布

新建仓库信息配置完之后,就可以在本地maven的settings.xml中进行引入,id就是上一步建仓库name,要一致,username和password就是私服管理平台登入账号和密码。

   <server>
<id>zjmrepository</id> <!--必须要与所建仓库唯一标识name匹配-->
<username>admin</username>
<password>admin123</password>
</server>

二 如何向私服中发布自己的项目资源

1 项目中的pom.xml定义的版本类型要跟所建仓库的类型一致(版本号-类型),不然会发布失败,版本号可以随便写

2 pom.xml加入仓库管理配置,仓库id跟URL需要跟新建仓库的信息匹配,name可以随便填

  <!--仓库管理,要向仓库中分布新东西在这里配置-->
<distributionManagement>
<repository>
<id>zjmrepository</id><!--仓库id,必须要跟私服上建的仓库id一致-->
<name>zjmrepository Repository2</name> <!--可随便写-->
<url>http://127.0.0.1:8081/repository/zjmrepository/</url> <!--url后面是仓库id,要匹配-->
</repository>
</distributionManagement>

3 配完之后即可在项目maven下进行deploy发布

4 发布完之后,可在私服管理平台browse下查看发布的结果,并查看如何被其他项目引用

三 如何从私服中下载资源

maven依赖私服资源方式跟外部资源一致,主要是要配置私服的环境地址

<repositories>
<!--配置优先使用私服仓库加载依赖,如果私服仓库没有对应的依赖会去外网拉-->
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>zjmrepository</id>
<name>zjmrepository maven</name>
<url>http://127.0.0.1:8081/repository/zjmrepository/</url>
</repository>
</repositories>

window下玩转maven私服全流程,融合创建仓库、上传项目资源、下载私服资源的更多相关文章

  1. CentOS安装Nexus(Maven私有库)详细配置及上传本地jar到私服

    Nexus原理 Maven的原理就是将jar从远程中央仓库下载到PC磁盘的本地仓库,当本地仓库没有发现需要的jar就会去Maven默认的远程中央仓库Maven Central(由Apache维护)中寻 ...

  2. 使用Docker Maven 插件进行镜像的创建以及上传至私服

    1.在进行服务容器化部署的时候,需要将服务以及其运行的环境整个打包做成一个镜像,打包的过程有两种办法,第一种是首选通过maven打成jar包,然后再编写dockerfile,执行docker buil ...

  3. 实测Maven上传jar包到私服的方法归纳

    Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...

  4. Maven上传jar包到私服

    1.认证,在M2_HOME/conf/settings.xml配置用户名密码 <server> <id>releases</id> <username> ...

  5. Windows下上传项目到github

    首先,一定要有耐心.看到一大堆的命令行(其实并没有一大堆)不要觉得枯燥,最后当你成功把你的项目上传上去之后那种胜利的成果,还是挺有意思的.本人第一次写博客,勿喷. 我写的是主要的流程,详细内容还请移步 ...

  6. 玩转OneNET物联网平台之HTTP服务① —— 模拟上传温度(TcpClient)

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  7. GitHub教程--上传项目四步法 GitBash命令行下使用方法

    之前就用过GitHub,感觉用GitHub托管自己的代码非常不错.可是之前用的都是窗口化的TortoiseGit,省了很多命令行的操作,但是个人非常喜欢使用命令行,于是,今天就试着用了用GitBash ...

  8. Maven配置jar(war)包自动打包上传Maven服务器的配置

    Maven配置jar(war)包自动打包上传Maven服务器的配置 创建jar(war)包工程 创建一个maven工程 在工程中穿件一个测试类 配置pom.xml <distributionMa ...

  9. App上架流程[利用Archive进行上传]

    作者 M_Lee2016.01.22 10:47 写了14852字,被32人关注,获得了49个喜欢 [iOS]App上架流程[利用Archive进行上传] 字数2186 阅读507 评论3 喜欢9 今 ...

随机推荐

  1. python实战项目练习-Django商城项目之注册功能实现

    设计到的前端知识 项目的前端页面使用vue来实现局部刷新,通过数据的双向绑定实现与用户的交互,下面来看一下需求,在用户输入内容后,前端需要做一些简单的规则校验,我们希望在在用户输入后能够实时检测,如果 ...

  2. 【RMAN】使用RMAN备份将数据库不完全恢复到指定时间点

    RMAN作为Oracle强大的备份恢复工具,可以协助我们恢复数据库到指定时间点,这便是Oracle不完全恢复的一种体现,通过这种方法可以找回我们曾经丢失的数据.这里以找回误TRUNCATE表数据为例给 ...

  3. Selenium八种元素定位方法源码阅读

    接触过Selenium的都知道元素定位有八种方法,但用不同的方法在执行时有什么区别呢? 元素定位8种方法(Python版),当然还有每一个方法对应的find_elements方法 find_eleme ...

  4. 云ERP真的已经玩不转了吗?

    欢迎关注微信公众号:sap_gui (ERP咨询顾问之家) 注:以下云ERP特指Saas ERP,非指ERP系统部署在云端. 不得不说,如今市场对传统ERP的接受度要远比云ERP高得多,95%的中大型 ...

  5. Waymo的自主进化

    Waymo的自主进化 3月初,Waymo在推特上宣布,共获得了22.5亿美元(约合人民币156亿元)融资,由Silver Lake(银湖资本).Canada Pension Plan Investme ...

  6. Java设计模式(4:里氏替换原则和合成复用原则详解

    一.里氏替换原则 如果说实现开闭原则的关键步骤就是抽象化,那么基类(父类)和子类的继承关系就是抽象化的具体实现,所以里氏替换原则就是对实现抽象化的具体步骤的规范.即:子类可以扩展基类(父类)的功能,但 ...

  7. 二、创建测试JSP页面

    root@web1 ~]# rm -rf /usr/local/tomcat/webapps/ROOT/* 1.创建测试网页 [root@web1 ROOT]# vim /usr/local/tomc ...

  8. 【NX二次开发】Block UI 线宽

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  9. 【NX二次开发】属性操作总结

    内容包括:1.属相创建2.判断属性是否存在3.读取属性值4.时间属性转换成字符串5.统计属性的数量6.删除指定属性7.删除全部属性 源码: 1 #include <stdlib.h> 2 ...

  10. Spring Boot WebFlux-01——WebFlux 快速入门实践

    第01课:WebFlux 快速入门实践 Spring Boot 2.0 spring.io 官网有句醒目的话是: BUILD ANYTHING WITH SPRING BOOT Spring Boot ...