在局域网内搭建maven私有仓库,可避免每次都从中央仓库下载公共jar包,另外将A模块作为二方库发布到私有仓库后,B模块可以很方便的引用,今天我们就来实战maven私有仓库的搭建和使用;

原文地址:http://blog.csdn.net/boling_cavalry/article/details/79059021

环境信息

  1. 安装私有仓库的机器是ubuntu16,IP是192.168.119.155;
  2. maven私有仓库的软件是nexus-2.14.5,请在官网下载;
  3. 在window10环境上做验证的使用,用到的maven版本是3.3.3,jdk版本1.8.0_111;

安装和启动nexus

  1. 打开/etc/profile,新增一行export RUN_AS_USER=root;
  2. 执行命令source /etc/profile,使刚才的配置生效;
  3. 从官网下载的是nexus-2.14.5-02-bundle.tar.gz,执行tar -zxvf nexus-2.14.5-02-bundle.tar.gz解压后,里面有两个目录:nexus-2.14.5-02和sonatype-work;
  4. 进入nexus-2.14.5-02/bin,执行./nexus start启动nexus;
  5. 进入nexus-2.14.5-02/logs,执行tail -f wrapper.log观察日志滚动信息,看到如下信息时nexus启动成功:
jvm 1    | 2018-01-13 21:38:44,671-0800 INFO  [jetty-main-1]  org.sonatype.nexus.webresources.internal.WebResourceServlet - Max-age: 30 days (2592000 seconds)
jvm 1    | 2018-01-13 21:38:44,698-0800 INFO  [jetty-main-1]  org.sonatype.nexus.bootstrap.jetty.InstrumentedSelectChannelConnector - Metrics enabled
jvm 1    | 2018-01-13 21:38:44,713-0800 INFO  [jetty-main-1]  org.eclipse.jetty.server.AbstractConnector - Started InstrumentedSelectChannelConnector@0.0.0.0:8081
jvm 1    | 2018-01-13 21:38:44,713-0800 INFO  [jetty-main-1]  org.sonatype.nexus.bootstrap.jetty.JettyServer - Running
jvm 1    | 2018-01-13 21:38:44,713-0800 INFO  [WrapperListener_start_runner]  org.sonatype.nexus.bootstrap.jetty.JettyServer - Started
jvm 1    | 2018-01-13 21:39:26,926-0800 INFO  [qtp984089572-47]  org.apache.shiro.nexus5727.FixedDefaultWebSessionManager - Global session timeout: 1800000 ms
jvm 1    | 2018-01-13 21:39:26,931-0800 INFO  [qtp984089572-47]  org.apache.shiro.session.mgt.AbstractValidatingSessionManager - Enabling session validation scheduler...
jvm 1    | 2018-01-13 21:39:26,944-0800 INFO  [qtp984089572-47]  org.apache.shiro.cache.ehcache.EhCacheManager - Using existing EHCache named [shiro-activeSessionCache]
jvm 1    | 2018-01-13 21:39:26,945-0800 INFO  [qtp984089572-45]  org.apache.shiro.nexus5727.FixedDefaultWebSessionManager - Global session timeout: 1800000 ms

登录

  1. 在浏览器输入地址:http://192.168.119.155:8081/nexus/
  2. 进入nexus首页后,点击右上角的"Log In"按钮,输入用户名"admin",默认密码"admin123";
  3. 点击左侧的"Repositories"按钮,看到已有的仓库,如下图:

目前nexus已经开始正常工作了,接下来我们开始使用私有仓库;

使用私有仓库,配置

  1. 我的windows10开发环境要使用私有仓库,需要配置maven的信息,打开maven安装目录下的conf/settings.xml文件;
  2. 在mirrors节点下新增一个mirror节点,内容如下:
<mirror><id>nexus</id><mirrorOf>*</mirrorOf><url>http://192.168.119.155:8081/nexus/content/groups/public/</url>
</mirror>

192.168.119.155是nexus机器的IP;
3. 在profiles节点下新增一个profile节点,内容如下:

<profile><id>nexus</id><repositories><repository><id>central</id><url>http://central</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>central</id><url>http://central</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories>
</profile>

以上新增了中央仓库的相关信息;
4. 新增一个activeProfiles节点,该节点和profiles节点一个层次,内容如下:

<activeProfiles><activeProfile>nexus</activeProfile>
</activeProfiles>

新建一个springboot工程

  • 新建一个基于maven构建的springboot的web工程,里面只有一个最简单的controller,在pom.xml所在目录下执行以下命令:
mvn clean package -Dmaven.test.skip=true
  • 可以看到如下信息,当前的maven已经在通过私有仓库下载:
[INFO] Building jar: D:\temp\201801\06\helloworld\target\helloworld-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:1.5.9.RELEASE:repackage (default) @ helloworld ---
Downloading: http://192.168.119.155:8081/nexus/content/groups/public/org/springframework/boot/spring-boot-loader-tools/1.5.9.RELEASE/spring-boot-loader-tools-1.5.9.RELEASE.pom
Downloaded: http://192.168.119.155:8081/nexus/content/groups/public/org/springframework/boot/spring-boot-loader-tools/1.5.9.RELEASE/spring-boot-loader-tools-1.5.9.RELEASE.pom (0 B at 0.0 KB/sec)
Downloading: http://192.168.119.155:8081/nexus/content/groups/public/org/springframework/boot/spring-boot-loader-tools/1.5.9.RELEASE/spring-boot-loader-tools-1.5.9.RELEASE.jar
Downloaded: http://192.168.119.155:8081/nexus/content/groups/public/org/springframework/boot/spring-boot-loader-tools/1.5.9.RELEASE/spring-boot-loader-tools-1.5.9.RELEASE.jar (0 B at 0.0 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:21 min
[INFO] Finished at: 2018-01-14T17:57:45+08:00
[INFO] Final Memory: 29M/164M
[INFO] ------------------------------------------------------------------------

已缓存信息

此时再从浏览器查看“Central”仓库的信息,发现里面已经缓存了前面的springboot工程所依赖的jar包,今后其他机器再需要这些jar包时,就可以直接从私有仓库上下载了,而私有仓库没有的jar包,也会由私有仓库下载并保存,然后提供给使用私有仓库的机器;

至此,nexus的安装和缓存jar包功能的使用实战已经完成,接下来的章节,我们会将本机的工程打包并发布到私有仓库;

欢迎关注我的公众号:程序员欣宸

实战maven私有仓库三部曲之一:搭建和使用相关推荐

  1. maven私有仓库的搭建——nexus的安装

    maven私有仓库的搭建 使用Xshell连接远程服务器.本文章主要参考冰河大佬的小伙伴问我:如何搭建Maven私服?我连夜肝了这篇实战文章!! - 冰河的个人空间 - OSCHINA - 中文开源技 ...

  2. 搭建Maven私有仓库

    内部的项目并且需要多团队协作模块化开发的时候,自然会想到搭建自己的maven私有仓库,本文主要介绍如何搭建maven私服和如何在项目中添加依赖. Maven 的远程仓库分为中央仓库和私服仓库.中央仓库 ...

  3. 手把手教你用artifactory搭建maven私有仓库

    1. 背景 公司需要搭建一个maven私有仓库,该仓库能够存储jar包供maven使用,一方面为了加速maven的拉取素的,另一方面有一些jar包在中央仓库没有,需要下载源码打包后发布到自己的私有仓库 ...

  4. 企业级微服务构建-01搭建和使用Maven私有仓库(Nexus)-03备份和恢复

    亲历的企业级微服务的完整构建过程-系列文章目录 本人参与了这次的企业级微服务的完整构建,想要记录下来以便以后复习,同时也想分享给小伙伴们,抛砖引玉,欢迎大家提出自己的意见和建议,大家一起探讨一起成长. ...

  5. 企业级微服务构建-01搭建和使用Maven私有仓库(Nexus)-05仓库管理

    亲历的企业级微服务的完整构建过程-系列文章目录 本人参与了这次的企业级微服务的完整构建,想要记录下来以便以后复习,同时也想分享给小伙伴们,抛砖引玉,欢迎大家提出自己的意见和建议,大家一起探讨一起成长. ...

  6. 企业级微服务构建-01搭建和使用Maven私有仓库(Nexus)-09权限(Privileges)

    亲历的企业级微服务的完整构建过程-系列文章目录 本人参与了这次的企业级微服务的完整构建,想要记录下来以便以后复习,同时也想分享给小伙伴们,抛砖引玉,欢迎大家提出自己的意见和建议,大家一起探讨一起成长. ...

  7. 企业级微服务构建-01搭建和使用Maven私有仓库(Nexus)-17审计

    亲历的企业级微服务的完整构建过程-系列文章目录 本人参与了这次的企业级微服务的完整构建,想要记录下来以便以后复习,同时也想分享给小伙伴们,抛砖引玉,欢迎大家提出自己的意见和建议,大家一起探讨一起成长. ...

  8. 企业级微服务构建-01搭建和使用Maven私有仓库(Nexus)-29上传组件

    亲历的企业级微服务的完整构建过程-系列文章目录 本人参与了这次的企业级微服务的完整构建,想要记录下来以便以后复习,同时也想分享给小伙伴们,抛砖引玉,欢迎大家提出自己的意见和建议,大家一起探讨一起成长. ...

  9. 如何发布Android Library到maven私有仓库

    前言 在我们的项目架构中,一定存在一些基础的模块,这些模块可以在多个app上通用,这种情况我们一般会将这些模块封装成Android Library统一维护,并上传到仓库方便其他小组使用.仓库可以选择如 ...

最新文章

  1. oracle 恢复dmp文件时,创建 tablespace user
  2. (转)使用异步 I/O 大大提高应用程序的性能
  3. safari的调试工具
  4. 数据库的增删改查和使用流程
  5. Linux中变量 #, @, 0, 1, 2, *,$$,$?的含义
  6. atitit.按钮光标滑过高亮切换以及其他动态效果的实现css html js --attilax总结
  7. 从阿里外包月薪5K到转岗正式员工月薪15K,这100多天的心酸只有自己知道...
  8. 《QTreeView+QAbstractItemModel自定义模型》:系列教程之三
  9. Mac 下JDK 1.8 下载地址
  10. 07. Python-异常
  11. C# 中的委托和事件[转自http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html]
  12. 使用自然语言处理来检测电子邮件中的垃圾邮件
  13. 【Shecan Notes】从二叉树出发浅谈风险中性定价
  14. 编译chrome for android,Chrome for Android 编译了两天终于在师傅指导下搞定
  15. uboot boot ags
  16. 【笔记本保养】老机器的保养注意事项
  17. Verilog实现二段式和三段式有限状态机
  18. 网络安全职业道路_汽车安全我们的道路
  19. 200 PORT command successful. Consider using PASV / Linux 部署vsftp不能正常访问
  20. 《中国大历史》—— 读后总结

热门文章

  1. 右键没有新建Excel,新建Word,新建PowerPoint的解决方案
  2. 区块链开源项目Asch源码初探
  3. 京东年货节,如何一键群发营销短信?
  4. 计算机图形学台灯光照代码,光照控制自动调光台灯工作原理及设计
  5. JDK的下载与环境变量配置详细步骤
  6. 【mysql】存储引擎之间的区别
  7. 20210301计算机科学速成课40集(34-35)
  8. 开发Hybrid App的技术选型
  9. Curl和Socket的区别
  10. python专区--PyMySQL