window下玩转maven私服全流程,融合创建仓库、上传项目资源、下载私服资源
在互联网项目开发浪潮中,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私服全流程,融合创建仓库、上传项目资源、下载私服资源的更多相关文章
- CentOS安装Nexus(Maven私有库)详细配置及上传本地jar到私服
Nexus原理 Maven的原理就是将jar从远程中央仓库下载到PC磁盘的本地仓库,当本地仓库没有发现需要的jar就会去Maven默认的远程中央仓库Maven Central(由Apache维护)中寻 ...
- 使用Docker Maven 插件进行镜像的创建以及上传至私服
1.在进行服务容器化部署的时候,需要将服务以及其运行的环境整个打包做成一个镜像,打包的过程有两种办法,第一种是首选通过maven打成jar包,然后再编写dockerfile,执行docker buil ...
- 实测Maven上传jar包到私服的方法归纳
Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...
- Maven上传jar包到私服
1.认证,在M2_HOME/conf/settings.xml配置用户名密码 <server> <id>releases</id> <username> ...
- Windows下上传项目到github
首先,一定要有耐心.看到一大堆的命令行(其实并没有一大堆)不要觉得枯燥,最后当你成功把你的项目上传上去之后那种胜利的成果,还是挺有意思的.本人第一次写博客,勿喷. 我写的是主要的流程,详细内容还请移步 ...
- 玩转OneNET物联网平台之HTTP服务① —— 模拟上传温度(TcpClient)
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- GitHub教程--上传项目四步法 GitBash命令行下使用方法
之前就用过GitHub,感觉用GitHub托管自己的代码非常不错.可是之前用的都是窗口化的TortoiseGit,省了很多命令行的操作,但是个人非常喜欢使用命令行,于是,今天就试着用了用GitBash ...
- Maven配置jar(war)包自动打包上传Maven服务器的配置
Maven配置jar(war)包自动打包上传Maven服务器的配置 创建jar(war)包工程 创建一个maven工程 在工程中穿件一个测试类 配置pom.xml <distributionMa ...
- App上架流程[利用Archive进行上传]
作者 M_Lee2016.01.22 10:47 写了14852字,被32人关注,获得了49个喜欢 [iOS]App上架流程[利用Archive进行上传] 字数2186 阅读507 评论3 喜欢9 今 ...
随机推荐
- Mybatis3详解(十四)----Mybatis的分页
1.前言 在前面学习mybatis的时候,会经常对数据进行增删改查操作,使用最多的是对数据库进行查询操作,但是前面都是简单的案例,所以查询的数据量不是很大,自然查询时没有任何压力,但是如果在实际的项目 ...
- Redis限制一键登录次数
一.产生背景 之前的随笔提到过项目中写了一键登录功能.上线后除了有时候网络波动会导致登陆失败,其他情况一直稳如老狗 しかし,邮件看到有人恶意刷一键登录,这年头闲的人可真闲啊, 只能思考如何搞一搞 二. ...
- Python+Selenium学习笔记13 - 窗口截图及关闭
涉及方法 get_screenshot_as_file() 1 # coding = utf-8 2 3 from selenium import webdriver 4 from time impo ...
- Jmeter——元件扩展,使其功能更全面
工具扩展 在之前的博文中,有介绍自定义函数.Java请求扩展,博文如下: Jmeter二次开发--基于Java请求 Jmeter二次开发--自定义函数 上述内容,是按自己的需要来进行针对性扩展,从而实 ...
- A100 Tensor核心可加速HPC
A100 Tensor核心可加速HPC HPC应用程序的性能需求正在迅速增长.众多科学研究领域的许多应用程序都依赖于双精度(FP64)计算. 为了满足HPC计算快速增长的计算需求,A100 GPU支持 ...
- Keras神经网络集成技术
Keras神经网络集成技术 create_keras_neuropod 将Keras模型打包为神经网络集成包.目前,上文已经支持TensorFlow后端. create_keras_neuropod( ...
- 用java实现一个ATM机系统(2.0版)
用java实现一个ATM机系统(2.0版) java实现银行ATM自助取款机,实现功能:用户登录.余额查询.存钱.取钱.转账.修改密码.退出系统. 文章目录 用java实现一个ATM机系统(2.0版) ...
- 【NX二次开发】获取两个面之间的所有面
已知两个蓝色面,使用遍历面的方法求紫色面.算法例子: 1 bool is_NeighborFace(tag_t tagFace1, tag_t tagFace2) 2 { 3 vector<ta ...
- GoLang:通过url将值从view层(.tpl)传递到controller层
beego框架 1.定义路由: beego.Router("/UpdateState/:statename/:id", &controllers.ContentContro ...
- mapboxgl 互联网地图纠偏插件(一)
之前写过一个 leaflet 互联网地图纠偏插件,引用插件后一行代码都不用写,就能解决国内互联网地图瓦片的偏移问题. 最近想对 mapboxgl 也写一个这样的插件. 原因是自己发布的OSM矢量瓦片地 ...