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 今 ...
随机推荐
- DDD兴起的原因以及与微服务的关系
DDD为什么能火起来? 我们先不讨论DDD的定义, 先梳理一下DDD火起来的背景, 根据我学习的套路, 永远是为什么为先,再是解决什么问题,是什么东西, 最后如何使用.我们都知道这些年随着设备以及技术 ...
- 巧用 iLocker 清理恶意程序
iLocker 作为 iGuard 网页防篡改系统的文件驱动过滤模块所衍生出来的独立应用,是一个文件防护工具,可以在文件系统驱动层检查文件操作,根据规则对文件操作进行放行或拦截,可以灵活细致地对文件访 ...
- [leetcode] 72. 编辑距离(二维动态规划)
72. 编辑距离 再次验证leetcode的评判机有问题啊!同样的代码,第一次提交超时,第二次提交就通过了! 此题用动态规划解决. 这题一开始还真难到我了,琢磨半天没有思路.于是乎去了网上喵了下题解看 ...
- rabbit_消费者
import pika import json import time import os import ast import uuid import time import json import ...
- VTA硬件
VTA硬件 提供了VTA硬件设计的自上而下的概述.本硬件设计涵盖两个级别的VTA硬件: VTA设计及其ISA硬件-软件接口的体系结构概述. VTA硬件模块的微体系结构概述以及计算核心的微代码规范. V ...
- python_selenium 之yaml文件读取(以读取元素信息为例)
一.yaml源文件编写 二.对yaml文件内容的读取 #coding=gbkimport osimport yamlcurrent_path=os.path.dirname(__file__)yaml ...
- 【NX二次开发】拉伸面、拉伸封闭曲线成片体UF_MODL_create_extrusion
用那几个拉伸,不能将封闭的曲线拉伸成片体,用UF_MODL_create_extrusion函数是可以的,下面是例子. 帮助上说拉伸片体不能有拔模角度,应该是错误的,下面是一个封闭曲线带拔模角度拉伸片 ...
- 【VBA】类型转换
每个函数都可以强制将一个表达式转换成某种特定数据类型. 语法 CBool(expression) CByte(expression) CCur(expression) CDate(expression ...
- 别再说Java对象都是在堆内存上分配空间的了!
Java作为一种面向对象的,跨平台语言,其对象.内存等一直是比较难的知识点,所以,即使是一个Java的初学者,也一定或多或少的对JVM有一些了解.可以说,关于JVM的相关知识,基本是每个Java开发者 ...
- 从谭浩强的《C语言程序设计》到《电容应用分析精粹》
不记得具体从什么时候开始(反正很多年前的事了)的,不少人都陆续批评过谭浩强的<C语言程序设计>,各方面都有扒过.例如,与实践脱节,很多例子在不同编译器上运行是错误的,代码风格糟糕等等方面. ...