私服是什么

私服,私有服务器,是公司内部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
plain
copy

  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>

指定插件仓库

[html] view
plain
copy

  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>

这样只有本项目才在私服下载组件

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

修改settings.xml为

追加激活profile

[html] view
plain
copy

  1. <activeProfiles>
  2. <activeProfile>central</activeProfile>
  3. </activeProfiles>

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

项目的发布

[html] view
plain
copy

  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>

注意配置了还是发布项目到私服失败,原因为没有权限,会出现401错误码,原因就是权限不够。



配置权限在settings.xml





注意Respository中的id一定要和server下的id一致,切记!!否则出现权限问题。


然后运行发布


clean deploy


在控制台发布成功


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








宿主库——3rd party

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






最后点击上传


maven仓库--私服(Nexus的配置使用)的更多相关文章

  1. (转)Maven仓库——私服介绍

    背景:对Maven私服一直想做个深入的总结,因为不了解,所以感觉很陌生. 转载地址:http://blog.csdn.net/catoop/article/details/62312477 常用功能和 ...

  2. maven,本地仓库和私服nexus的配置,以及eclipse载入maven

    首先可以进入http://maven.apache.org/官网查看如何配置 一.配置环境 1 确定自己的java运行环境配置正确-->在cmd运行 java -version或echo %JA ...

  3. nexus(Maven仓库私服)的安装、配置、使用和仓库迁移

    简介 Nexus下载:点击进入 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一 ...

  4. maven仓库私服配置

    私服访问地址:[[http://192.168.1.252:9080/nexus/content/groups/public/ 地址]] 1. 打开eclipse/myeclipse的maven插件: ...

  5. nexus建立maven仓库私服及Snapshots、release的版本管理

    环境搭建   1.linux安装maven   wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.0.5/binaries/apache-mave ...

  6. 【Maven】Nexus(Maven仓库私服)下载与安装

    Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库 ...

  7. Nexus(Maven仓库私服)安装

    一.Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven ...

  8. Nexus 3.X(Maven仓库私服)仓库迁移与备份

    Linux 仓库迁移 Nexus的构件仓库都保存在sonatype-work目录中,该目录的位置由nexus/conf/nexus.properties配置文件指定.仓库迁移需要两个过程:备份和还原 ...

  9. 私服 Nexus 的配置

    一.概述 1.概要 现在的项目基本都是用Maven来管理工程,这样一来在公司内容搭建一个私服就非常有必要了,这样一来可以管理公司内部用的JAR包,也可以管理第三方的各种JAR来,以免每次都要从外网的仓 ...

  10. 私服 Nexus 的配置 (转)

    https://www.cnblogs.com/yuanermen/p/4574473.html 一.概述 1.概要 现在的项目基本都是用Maven来管理工程,这样一来在公司内容搭建一个私服就非常有必 ...

随机推荐

  1. MVC-04 视图(3)

    五.Url辅助方法 Url辅助方法与HTML辅助方法很类似,HTML辅助方法用来产生HTML标签,而Url辅助方法则负责用来产生Url网址. @Url.Action("About" ...

  2. QT 子窗口监听主窗口信号(超级简单,但是好用,比如主窗口移动的时候,子窗口不要再继续处理任务)

    MainWindow *ptr = NULL; ptr = (MainWindow*)parentWidget(); connect(ptr, SIGNAL(param_result(bool)), ...

  3. C#共享内存实例 附源码

    原文 C#共享内存实例 附源码 网上有C#共享内存类,不过功能太简单了,并且写内存每次都从开头写.故对此进行了改进,并做了个小例子,供需要的人参考. 主要改进点: 通过利用共享内存的一部分空间(以下称 ...

  4. perl5 第二章 简单变量

    第二章 简单变量  by flamephoenix 一.整型 二.浮点数 三.字符串 基本上,简单变量就是一个数据单元,这个单元可以是数字或字符串.一.整型 1.整型   PERL最常用的简单变量,由 ...

  5. D - 楼下水题(kmp+Manacher)

    D - 楼下水题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Statu ...

  6. 查找jar包的站点

    1.findJAR.com: http://www.findjar.com/index.x 2.jarfire:  https://cn.jarfire.org/

  7. STL algorithm算法mismatch(37)

    mismatch原型: std::mismatch equality (1) template <class InputIterator1, class InputIterator2> p ...

  8. delphi webbrowser 经常用法演示样例

    var Form : IHTMLFormElement ; D:IHTMLDocument2 ; begin with WebBrowser1 do begin D := Document as IH ...

  9. 【iOS开发-52】假设要模仿练习,怎样找到其它应用程序的icon、使用框架等资源?

    (1)在91助手等站点下载ipa格式的安装包.假设是安卓的应该是apk格式的.此处仅仅说iOS的.比方以下这个,下载到电脑. (2)然后,找到它,右击"归档",相当于解压. (3 ...

  10. HA for openstack

    mysql ha instance ha openstack博客:http://blog.csdn.net/tantexian/article/list/2 使用eclipse远程调试openstac ...