maven私服的使用
使用的版本是nexus2
比较犀利的一个博客https://www.cnblogs.com/tyhj-zxp/p/7605879.html
一.安装搭建私服(windows)
bin目录cmd执行nexus install
可以使用 nexus命令在bin目录下查看命令
查看服务中的nexus中多了一个nexus服务启动即可
Nexus 本地网址 localhost:8081/nexus admin/admin123
二.基本概念介绍
仓库类型:
Ø hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
Ø proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
Ø group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
仓库:
Releases:这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍.
Snapshots:这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.
3rd Party:顾名思义, 第三方库, 你可能会问不是有中央仓库来管理第三方库嘛,没错, 这里的是指可以让你添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rdparty仓库。
三.使用eclipse配置上传和下载jar
1)上传jar包
a)配置远程仓库认证在maven配置文件settings.xml servers 标签下配置
<server>
<!--releases 连接发布版本项目仓库-->
<id>releases</id>
<!--访问releases这个私服上的仓库所用的账户和密码-->
<username>admin</username>
<password>admin123</password>
</server>
<server>
<!--snapshots 连接测试版本项目仓库-->
<id>snapshots</id>
<!--访问releases这个私服上的仓库所用的账户和密码-->
<username>admin</username>
<password>admin123</password>
</server>
b)在项目的pom文件中配置project下面配置,注意和上面的两者的id一致
<distributionManagement>
<!--pom.xml这里<id> 和 settings.xml 配置 <id> 对应 -->
<repository>
<id>releases</id>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
c)deploy命令上传jar 到时候会根据项目的版本上传jar/war包到私服
2)下载jar包
0)大部分公共的远程仓库无须认证就可以直接访问,但我们在平时的开发中往往会架设自己的Maven远程仓库,出于安全方面的考虑,我们需要提供认证信息才能访问这样的远程仓库。认证信息必须配置在settings.xml文件中。在settings.xml中配置认证信息更为安全。如果私服没有认证就能访问私服的话就不用配置了,配置方式也是settings.xml servers 标签下配置
maven settings 里面配置的信息
<settings>
...
<!--配置远程仓库认证信息-->
<servers>
<server>
<id>bbsnexus</id>
<username>licui</username>
<password>a111111</password>
</server>
</servers>
...
</settings> 上面代码我们配置了一个id为bbsnexus的远程仓库认证信息。Maven使用settings.xml文件中的servers元素及其子元素server配置仓库认证信息。认证用户名为licui,认证密码为a111111。这里的关键是id元素,id没有要求,随便定义,但是后面配置远程仓库的id必须和这里的id保持一致。正是这个id将认证信息与仓库配置联系在了一起。 接下来就是 profile中的 repository/pluginRepository 中的配置了,和下面的配置代码是一样的但是 id需要和仓库认证信息一致 bbsnexus
1)在maven的setting配置.下载jar两种方式一个是在pom中配置适合一个项目的,另一个就是在maven的配置文件settings里面配置,适合多个项目,只在配置文件里面配置就行了
在settings里面
<profile>
<!--profile的id-->
<id>dev</id>
<repositories>
<repository>
<!--仓库id,repositories可以配置多个仓库,保证id不重复-->
<id>nexus</id>
<!--仓库地址,即nexus仓库组的地址-->
<url>http://localhost:8081/nexus/content/groups/public/</url>
<!--是否下载releases构件-->
<releases>
<enabled>true</enabled>
</releases>
<!--是否下载snapshots构件-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
<pluginRepository>
<!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
<id>public</id>
<name>Public Repositories</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile> <!--使用profile定义仓库需要激活才可生效-->
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
或者在pom里面
<repositories>
<repository>
<!--仓库id,repositories可以配置多个仓库,保证id不重复 -->
<id>nexus</id>
<!--仓库地址,即nexus仓库组的地址 -->
<url>http://localhost:8081/nexus/content/groups/public/</url>
<!--是否下载releases构件 -->
<releases>
<enabled>true</enabled>
</releases>
<!--是否下载snapshots构件 -->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
2)配置镜像
<mirror>
<!--镜像id,mirrors中可以配置多个镜像,保证id不重复-->
<id>nexus</id>
<!--mirrorOf指定仓库id,仓库组包括了id为 releases、snapshots、thirdparty 、central 的仓库,可以配置具体的id,如果镜像所有的仓库则设置为*-->
<mirrorOf>*</mirrorOf>
<!--镜像地址-->
<url>http://localhost:8081/nexus/content/groups/public/</url>
</mirror>
四.使用私服在网站上上传和下载jar包
a.下载不说了,自己试试就行了
b.上传jar包移步 https://www.cnblogs.com/tyhj-zxp/p/7605879.html
maven私服的使用的更多相关文章
- maven私服搭建
一.软件安装 地址:http://www.sonatype.org/nexus/thank-you-for-downloading/?dl=tgz 解压: 启动: >> nexus sta ...
- maven私服搭建(centOS6.5)
maven的好处和私服的应用本文不赘述,私服搭建如下: MAVEN 私服搭建(centOS 6.5 环境) 1. 准备环境,搭建centOS6.5系统环境,略 2. 准备对应的软件包如下: A. ...
- Centos 基础开发环境搭建之Maven私服nexus
hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件 ...
- 搭建Maven私服-续
前几天搭建了Maven私服,但是想在外网访问只能通过ip地址,因为公司用的不是固定ip所以,ip地址每次不一样,都要先打开极路由查看一下当前ip才能用,更恶心的是,代码check out只能一次,下次 ...
- 搭建Maven私服
最近从SVN下载的代码,在本地构建时出现了诸多问题,部分依赖下载超时,就想起在局域网搭建Maven私服,废话不说了,在测试服务器上建的已经成功,就随便找台机子再练习一遍顺道写个日志.1.前往http: ...
- Maven私服Nexus3.x环境构建操作记录
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...
- Maven学习 (四) 使用Nexus搭建Maven私服
为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...
- Maven-004-使用 Nexus 搭建 maven 私服
从去年至今,自己一直在学习自动化测试工具,想利用自动化工具尽可能的将重复的.关键的.耗时耗力的工作实现自动化,减轻日常测试工作,提升测试效率.在学习的过程中,将 maven 作为了项目开发管理工具,进 ...
- 使用Nexus创建Maven私服
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问.利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact.Nexus ...
- SONATYPE NEXUS搭建MAVEN私服
1.为什么使用Nexus如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费 ...
随机推荐
- dubbo AdaptiveExtension
AdaptiveExtension 自适应Extension,作者其实在使用Extension方和Extension之间插入AdaptiveExtension用来自适应,也可以说是适配. 所以,我们发 ...
- 新添加一块硬盘制作LVM卷并进行分区挂载
linux服务器新添加一块硬盘,可以直接将盘格式化挂载就能用,比如挂载在/usr/local目录,但是这样有一个弊端,就是如果这一块磁盘满了,后续想要扩容的话,不能继续挂载这个/usr/local挂载 ...
- [LeetCode&Python] Problem 13. Roman to Integer
Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 ...
- 初学C#windows程序
window 操作系统中,处处是窗体 优点:简单 强大 方便 灵活 步骤: 新建项目 项目类型 visual C#项目 模板 window应用程序 用partial 将同一个窗体的代码分开放在两个文件 ...
- IE8的兼容问题
1: rgba失效的问题: 在添加rgba的类名内加上:filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f00000 ...
- SQL-表-003
注:红色代表关键字,绿色代表解释说明,蓝色代表重点: 什么是数据表? 数据表是数据库中最重要的组成部分,可以将数据表分解成字段(列)和记录(行): 数据表的增加:约束同时创建 create table ...
- java中类加载时机
java虚拟机规范虽然没有强制性约束在什么时候开始类加载过程,但是对于类的初始化,虚拟机规范则严格规定了有且只有四种情况必须立即对类进行初始化,遇到new.getStatic.putStatic或in ...
- Go Example--接口
package main import ( "math" "fmt" ) type geometry interface { area() float64 pe ...
- 【javaScript】数组的相关操作
数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长 ...
- git与github建立仓库连接步骤
一.先对git 进行用户设置 首先你得在网上下载git软件并且安装,一路默认安装就好了,然后就可以开始本地仓库的建立了.打开你安装好的git, 在开始菜单里面找到git文件夹里面的git bash端 ...