欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何使用nexus在局域网内搭建maven私服及idea的使用

程序员文章站 2024-03-05 18:28:07
使用maven进行项目的声明周期管理,方便对项目依赖和插件进行管理,同时便于项目的统一管理,提升项目开发效率。但是实际工作中会有以下问题: 1  因为安全考...

使用maven进行项目的声明周期管理,方便对项目依赖和插件进行管理,同时便于项目的统一管理,提升项目开发效率。但是实际工作中会有以下问题:

1  因为安全考虑,有些公司不给开发人员提供外网。因此不能使用maven访问远程的仓库地址。

2  大家同时上网,导致网速比较慢,maven下载构件效率比较低。

3  由于版权的问题,有些第三方jar包无法从远程仓库下载。

4  有些jar包是公司内部使用的,自然也无法从远程maven仓库下载。

怎么办呢?

使用nexus搭建私服

所谓私服,是一种特殊的远程服务器,代理广域网上的远程仓库,供局域网内maven用户使用。nexus就是其中一种。

需要下载maven构件时候, 先从私服请求,不存在则从外部远程仓库下载,缓存到私服后供下载。

 对于 一些无法从外部下载的构件,就可以上传到私服供下载使用。

一 下载安装

地址 

环境 win32  选择版本:nexus-2.13.0-01-bundle.tar.zip

解压安装

如何使用nexus在局域网内搭建maven私服及idea的使用

访问 启动后如下页面,在右上角有个log in 的超链接,点击登录

默认的用户名是 admin 密码是 admin123

如何使用nexus在局域网内搭建maven私服及idea的使用

public repositories:  仓库组

3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库

apache snapshots: 用了代理apachemaven仓库快照版本的构件仓库

central: 用来代理maven*仓库中发布版本构件的仓库

central m1 shadow: 用于提供*仓库中m1格式的发布版本的构件镜像仓库

releases: 用来部署管理内部的发布版本构件的宿主类型仓库

snapshots:用来部署管理内部的快照版本构件的宿主类型仓库

二  intellij ide使用私服配置

找到maven的安装目录 d:\jetbrains\intellij idea 14.1.5\plugins\maven\lib\maven3\conf

修改setting.xml 添加如下:

</mirrors>
  <mirror>
     <id>central</id>
     <mirrorof>*</mirrorof>
     <name>central repository</name>
     <url>http://192.168.1.7:8081/nexus/content/groups/public/</url>
   </mirror>
 </mirrors>

修改 工程设置,一定要把user setting file  钩给勾上 .  ok 工程无需其它配置 就可以使用私服了

如何使用nexus在局域网内搭建maven私服及idea的使用

三上传构建到私服  

直接用  idea  中的  deploy按钮就可以将 打好的 jar 包或者 war包上传到 私服中  (install  是将jar包 拷贝到本地仓库)
maven setting.xml 添加如下配置:

 <servers>  
   <server>
     <id>nexus-releases</id>
     <username>admin</username>
     <password>admin123</password>
   </server>
   <server>
     <id>nexus-snapshots</id>
     <username>admin</username>
     <password>admin123</password>
   </server>
 
 </servers>

工程pom.xml 添加如下配置:

<distributionmanagement>
    <repository>
      <id>nexus-releases</id>
      <name>nexus release repository</name>
      <url>http://192.168.1.7:8081/nexus/content/repositories/releases/</url>
    </repository>
    <snapshotrepository>
      <id>nexus-snapshots</id>
      <name>nexus snapshot repository</name>
      <url>http://192.168.1.7:8081/nexus/content/repositories/snapshots/</url>
    </snapshotrepository>
  </distributionmanagement>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。