博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】
阅读量:6855 次
发布时间:2019-06-26

本文共 2876 字,大约阅读时间需要 9 分钟。

hot3.png

搭建私有服务器

前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找—>私有仓库—>中心仓库…

然而,我们的本地仓库常常没有想要的jar包的,而经常去中心仓库下载这就非常浪费时间和资源了…因此我们一般都有一个私有仓库…

另外有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库

这里写图片描述

准备步骤

我们使用的是nexus框架来搭建私服,它属于sonatype 机构的开源框架,用该框架架设maven 私有服务器

Nexus环境搭建

第一步:下载nexus-webapp-1.9.2.4.war包,然后拷贝到tomcat下的webapps目录中

第二步:启动tomcat 默认登录账户密码为: admin admin123
第三步:访问http://localhost:8080/项目名称/
tomcat会自动解析war包,然后就自动下载插件… 

20170809094718431.

访问该项目,进到首页

这里写图片描述

登陆… 

这里写图片描述

仓库介绍

这里写图片描述

  • proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用
  • Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里
  • Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存。我今天就发现,明明构件已经更新了,在浏览器里却看不到,还以为是BUG,其实是被浏览器缓存了
  • virtual:也是中央仓库镜像,支持M1老版本

每个仓库的作用:

  • 3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
  • Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库
  • Central: 用来代理maven中央仓库中发布版本构件的仓库
  • Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库
  • Codehaus Snapshots: 用来代理CodehausMaven 仓库的快照版本构件的仓库
  • Releases: 用来部署管理内部的发布版本构件的宿主类型仓库
  • Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库

仓库组是一个虚拟的概念,就是通过对实体仓库(proxy、hosted)进行聚合, 对外暴露一个统一的地址这里要注意的是,放到左边的仓库,才是会被聚合的仓库

仓库组的配置顺序:

这里写图片描述

这里写图片描述

上传jar包到私服

直接通过网站上传,把桌面上的pig-0.12.1.jar上传到私有服务器中

这里写图片描述

再次查看的时候,已经上传上去了

这里写图片描述

从私服依赖jar包

在pom.xml文件配置私服的路径、组id、版本等等

    
   
   
       
           
               
true
           
           
public
           
public
           
http://localhost:8080/nexus-2.6.2/content/groups/public/
       
   
   
   
   
       
           
never
       
       
           
true
       
       
public
       
public
       
http://127.0.0.1:8080/nexus-2.6.2/content/groups/public/
   
   

这里写图片描述

在本地仓库中也把私服的jar包下载下来了

这里写图片描述

把本地项目发布到私服

server的配置可以在Maven的settings.xml中写上

  
 
     
     
releases
     
admin
     
admin123
   
   
     
snapshots
     
admin
     
admin123
   

值得注意的是:你得留意你用的是哪个Maven,是你自己下载的Maven还是使用Idea集成的Maven,如果没有配置的话,那么就会出现401错误。

 
 
 
snapshots
 
http://127.0.0.1:8080/nexus-2.6.2/content/repositories/snapshots/
 
 
 
   
releases
 
http://127.0.0.1:8080/nexus-2.6.2/content/repositories/releases/
 

再次查看仓库组

这里写图片描述

转载于:https://my.oschina.net/u/2351298/blog/3011276

你可能感兴趣的文章
软件项目管理流程总结
查看>>
简单去桌面小箭头
查看>>
bash常用功能
查看>>
ARP表、MAC地址表、通信过程
查看>>
我的友情链接
查看>>
qt 信号与槽
查看>>
在Linux下安装tftp服务器NFS服务器以及Samba服务器
查看>>
systemd (简体中文)
查看>>
CentOS5.5部署zlib导致yum使用不了,报错Yum Segmentation Fault (core Dumped)
查看>>
手把手安装配置 Syster Center Virtual Machiner(二)添加SCVMM主机
查看>>
我的友情链接
查看>>
charles的使用
查看>>
学习日志---python(新式类,面向对象)
查看>>
sersync+rsync实时同步配置案例
查看>>
第一章 面向系统架构的系统工程
查看>>
【学神】1-10 硬盘管理、文件系统及链接
查看>>
mvc与三层结构终极区别
查看>>
华为内部如何实施微服务架构?基本就靠这5大原则
查看>>
PC机声音图标为不可用(声音图标打叉)
查看>>
Lowest Common Ancestor of a Binary Tree Part
查看>>