私服是什么

私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是http://www.sonatype.org/nexus/go。默认端口8081,这里我选择最新版nexus-2.5.0-04。

常用功能

Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。

开启Nexus服务后访问url地址http://localhost:8081/nexus/(推荐使用自己的ip地址),之后登录系统,用户名密码分别是:admin/admin123.

最频繁的就是点击左侧菜单栏的Repositories按钮

一般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化一的处理就更好了。


hosted   类型的仓库,内部项目的发布仓库

releases 内部的模块中release模块的发布仓库

snapshots 发布内部的SNAPSHOT模块的仓库

3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

proxy   类型的仓库,从远程中央仓库中寻找数据的仓库

group   类型的仓库,组仓库用来方便我们开发人员进行设置的仓库

maven项目索引

下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能

保存后后台会运行一个任务,点击菜单栏的Scheduled Tasks选项即可看到有个任务在RUNNING。 下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。例如spring-core

就可以检索出它的相关信息,包括怎么配置依赖信息。我们要想使用这个私服仓库,先在项目pom中配置相关私服信息

指定仓库

[html] view plaincopyprint?
  1. <repositories>
  2. <repository>
  3. <id>nexus</id>
  4. <name>nexus</name>
  5. <url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
  6. <releases>
  7. <enabled>true</enabled>
  8. </releases>
  9. <snapshots>
  10. <enabled>true</enabled>
  11. </snapshots>
  12. </repository>
  13. </repositories>
<repositories><repository><id>nexus</id><name>nexus</name><url>http://192.168.1.103:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>

指定插件仓库

[html] view plaincopyprint?
  1. <pluginRepositories>
  2. <pluginRepository>
  3. <id>nexus</id>
  4. <name>nexus</name>
  5. <url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
  6. <releases>
  7. <enabled>true</enabled>
  8. </releases>
  9. <snapshots>
  10. <enabled>true</enabled>
  11. </snapshots>
  12. </pluginRepository>
  13. </pluginRepositories>
<pluginRepositories><pluginRepository><id>nexus</id><name>nexus</name><url>http://192.168.1.103:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories>

这样只有本项目才在私服下载组件
这样这个Maven项目构建的时候会从私服下载相关依赖。当然这个配置仅仅是在此项目中生效,对于其他项目还是不起作用。如果相对Maven的其他项目也生效的话。需要修改全局的settings.xml文件。

修改settings.xml为

追加激活profile

[html] view plaincopyprint?
  1. <activeProfiles>
  2. <activeProfile>central</activeProfile>
  3. </activeProfiles>
<activeProfiles><activeProfile>central</activeProfile></activeProfiles>

之后所有本机的Maven项目就在私服下载组件。(这样比较好)

项目的发布

[html] view plaincopyprint?
  1. <distributionManagement>
  2. <repository>
  3. <id>user-release</id>
  4. <name>User Project Release</name>
  5. <url>http://192.168.1.103:8081/nexus/content/repositories/releases/</url>
  6. </repository>
  7. <snapshotRepository>
  8. <id>user-snapshots</id>
  9. <name>User Project SNAPSHOTS</name>
  10. <url>http://192.168.1.103:8081/nexus/content/repositories/snapshots/</url>
  11. </snapshotRepository>
  12. </distributionManagement>
<distributionManagement><repository><id>user-release</id><name>User Project Release</name><url>http://192.168.1.103:8081/nexus/content/repositories/releases/</url></repository><snapshotRepository><id>user-snapshots</id><name>User Project SNAPSHOTS</name><url>http://192.168.1.103:8081/nexus/content/repositories/snapshots/</url></snapshotRepository></distributionManagement>

注意配置了还是发布项目到私服失败,原因为没有权限


配置权限在settings.xml
然后运行发布

clean deploy

在控制台发布成功

然后进入到私服上的仓库中,看一下确实存在刚刚发布的项目

宿主库——3rd party

假如我们下载了Oracle的驱动程序jar包想给其他项目组使用,就需要上传该jar包。选中宿主库——3rd party,之后选择Artifact Upload上传至宿主空间。
最后点击上传

maven--私服的搭建(Nexus的使用)相关推荐

  1. 史上最详细Maven笔记以及搭建Nexus私服

    1.配置环境变量 1.1.方式一 M2_HOME 1.2.方式二 1.3. 查看是否配置成功 mvn -version 2.配置maven远程仓库地址 2.1.本地maven加载顺序 查找远程地址:m ...

  2. Docker中Maven私服的搭建

    为何用到Maven私服? 在实际开发中,项目中可能会用到第三方的jar.内部通讯的服务接口都会打入到公司的私服中. 我们从项目实际开发来看: 一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服 ...

  3. Maven学习总结(39)——Maven私服的搭建及使用deploy命令部署构建问题汇总

    私用Maven服务器,一般是公司内部使用.下载地址是http://www.sonatype.org/nexus/go.默认端口8081.Nexus常用功能就是:指定私服的中央地址.将自己的Maven项 ...

  4. maven私服升级(nexus服务升级)

    目前nexus服务安装在x.x.x.x上,目录为:/data/app/nexus/ 以本次升级为例,旧版的nexus版本号为:3.34.0-01,当前最新版的为3.43.0-01 nexus服务有2个 ...

  5. Docker JFrog Artifactory 7.27.10 maven私服(搭建篇)

    文章目录 一.docker 准备 1. 安装docker 2. 启动docker 3. 监控docker状态 二.docker 镜像 2.1. 搜索JFrog Artifactory镜像 2.2. 拉 ...

  6. Docker Nexus3 maven 私服(搭建篇)

    文章目录 一.环境准备 1. 安装docker 2. 启动docker 3. 拉取镜像 4. 目录权限 5. 创建容器 6. 监控日志 二.登录配置 2.1. 效果验证 2.2. 登录 2.3. 初始 ...

  7. linux设置nexus开机自启动_在linux中使用nexus搭建maven私服

    首先介绍下为什么要搭建maven私服,简单点说就是就是把项目工程中的Jar包放在一个服务器上,每次Jar包的修改都能去私服上面Down到本地.可以对整个项目组的人形成一个统一的管理. 2.下载完之后就 ...

  8. 使用Nexus搭建Maven私服、私服下载与上传

    目录 一.概念 1.私服简介 2.私服的好处 3.搭建私服的开源仓库管理软件 二.使用Nexus搭建Maven私服(Windows环境) 1.安装jdk 2.下载即安装Nexus 2.1 下载 2.2 ...

  9. Nexus - 基于docker搭建Maven私服

    Nexus - 基于docker搭建Maven私服 1 关于Nexus和Maven 1.1 Nexus 1.2 Maven 2. 部署Nexus 2.1 启动nexus 2.2 登录nexus 2.3 ...

  10. Linux_Centos中搭建nexus私服

    1.在Linux下搭建Nexus私服 1).下载并且解压      下载  nexus-2.11.2-03-bundle.zip      unzip nexus-2.11.2-03-bundle.z ...

最新文章

  1. 移动端布局规范-固定页头页尾-中间随高度滑动
  2. 如何将你拍摄的照片转换成全景图及六面体(PTGui)
  3. Python3中提示:no module named 'wxpy'
  4. 安装deepin_国产系统Deepin深度不是华为笔记本也能安装
  5. TensorFolw 报错
  6. SharePoint 2010新特性Ribbon
  7. P3195 [HNOI2008]玩具装箱TOY DP+优化
  8. 无监督学习K-means文本聚类实践
  9. matlab freqz m,freqz(freqz和freqs区别)
  10. 固定不动的层(兼容IE6)
  11. php编码小坑之调用新浪天气api和阿凡达天气api
  12. 全球消费精品消博会亮相!科蒂、资生堂、欧莱雅、奔富、保乐力加、红牛、雀巢、拜耳、澳佳宝都来了 | 美通社头条...
  13. 上海电信路由器有ipv6,电脑无法获取ipv6问题记录
  14. linux配置文件密码加密工具,Linux下利用openssl对文件进行加密和解密
  15. Zeppelin-0.9.0同步Apache DS LDAP 方案
  16. 【解决】阿拉伯语等右向左排版文字CSS解决方案
  17. 恢复MySQL 表结构 和数据
  18. 河南移动物联网建设加速 亿元级市场呼之欲出
  19. Eclipse java 字体的设置(最佳字体推荐)
  20. 洛谷 P2216 [HAOI2007] 理想的正方形

热门文章

  1. put url带参数_一道腾讯面试题:如何快速判断某 URL 是否在 20 亿的网址 URL 集合中?...
  2. KMP算法详细讲解(看完不会请打我)
  3. 16. OD-破解序列号验证机算法
  4. Go语言语法学习:打印九九乘法表
  5. 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第3节 接口_11_接口的常量定义和使用...
  6. 【Linux】linux ln文件夹的链接(转)
  7. C++学习笔记-继承
  8. Win10安装 oracle11g 出现INS-13001环境不满足最低要求解决方法
  9. jquery ajax 参数可以序列化
  10. J2EE数据库后台开发步骤(附HQL使用教程)