当前位置:主页 > 软件编程 > JAVA代码 >

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

时间:2020-11-19 17:51:09 | 栏目:JAVA代码 | 点击:

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

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

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

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

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

怎么办呢?

使用Nexus搭建私服

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

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

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

一 下载安装

地址 http://www.sonatype.com/download-oss-sonatype

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

解压安装


访问http://localhost:8081/nexus/ 启动后如下页面,在右上角有个Log in 的超链接,点击登录

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


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 工程无需其它配置 就可以使用私服了


三上传构建到私服  

直接用  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>

您可能感兴趣的文章:

相关文章