1.前言

很多小伙伴刚去公司上班时候,公司领导叫你拉代码下来看下项目结构,大多数小伙伴都可能会说:‘拉代码我们会啊,git clone嘛’,然后拉下来,常规操作IDEA打开项目,随便点了一个类进去,发现好多地方爆红。那又有一些小伙伴想到了maven设置里面得仓库地址没设置啊,然后跑去设置了一波,心想这下没问题了。结果一刷新maven,还是到处找不到jar包,到处爆红,这时候就傻眼了,心想 ‘咋回事啊对吧’,然后就开始百度,csdn了。那其实这样得情况很多刚工作的小伙伴都经常遇到,今天我来大概的讲下如果快速的将一个项目跑起来,主要就是讲到如何连接公司的一个私服仓库。

2.什么是私服仓库

概念
私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的用户使用。当Maven需要下载构件的时候,它从私服请求,如果 私服上不存在该构件,则从外部远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。
在这里插入图片描述

 我的理解 :就是公司内部用来管理jar的一个仓库,员工下载jar包,会先从私服下载,没有才会去远程仓库下载。

3.如何连接私服仓库

关于如何搭建我就不说了,我们今天的主题是快速的将项目跑起来

前面我们讲到我们将一个项目拉下来了,但是到处爆红,但是细心的小伙伴就会发现我们pom.xml中多了如下的一个配置。

<repositories>
  <repository>
    <id>activiti-releases</id>
    <url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases</url>
  </repository>
</repositories>
<!-- 上传包到Nexus -->
  <distributionManagement>
      <!--正式仓库的地址-->
    <repository>
        <id>release</id>
        <url>http://192.162.11.131:8081/nexus/content/repositories/releases/</url>
    </repository>
    <!--快照仓库的地址-->
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://192.162.11.131:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
</distributionManagement>

那这个配置又是什么意思呢,我们来看第一个配置

<repositories>
  <repository>
    <id>activiti-releases</id>
    <url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases</url>
   </repository>
</repositories>
  • 标签<repositories>代表的是在这个标签里面可能存在多个仓库,以<repository>为单位存在。

  • 标签<id> 是仓库的唯一标识

  • 标签<url>仓库的地址

这个配置就是告诉我们需要从哪里下载jar包,repositorie 表示下载项目依赖库文件的maven仓库地址。

如果是公司本地仓库,而且需要认证才能访问,需要在本地maven的conf\settings.xml文件中添加如下配置内容

第一步修改server标签里面的类容:
在这里插入图片描述

 <server>  
        <id>activiti-releases</id>  
        <username>admin</username>  
        <password>admin1234</password>  
 </server> 

值得注意的是这里的账号密码是公司搭建仓库的人才知道,所有小伙伴在刚进公司的时候需要主动问你的上级或者带你的人要。

第二步覆盖我们原来的仓库地址:
可以看出我们之前是直接从阿里云去下载jar包,而我们现在要去公司的私服仓库下载,所以需要覆盖原来的地址。*代表拦截所有下载jar的请求。
在这里插入图片描述

<mirror>
  <id>nexus</id>
  <mirrorOf>*</mirrorOf>
  <url>http://localhost:8081/nexus/content/groups/public/</url>
</mirror>

接下来我们看第二个配置:

<!-- 上传包到Nexus -->
  <distributionManagement>
      <!--正式仓库的地址-->
    <repository>
        <id>release</id>
        <url>http://192.162.11.131:8081/nexus/content/repositories/releases/</url>
    </repository>
    <!--快照仓库的地址-->
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://192.162.11.131:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
</distributionManagement>
  • 标签<distributionManagement >表示项目打包成库文件后要上传到仓库地址。
  • 标签 <repository>里面的地址表示正式发布仓库的地址。
  • 标签<snapshotRepository>里面的地址表示快照版本仓库的地址。

如果是公司本地仓库,而且需要认证才能访问,也需要在本地maven的conf\settings.xml文件中添加如下配置内容(< repository >节点下的< id >对应setting.xml文件中的server的id)

     <server>  
        <id>releases</id>  
        <username>admin</username>  
        <password>admin1234</password>  
     </server>  
     <server>  
        <id>snapshots</id>  
        <username>admin</username>  
        <password>admin1234</password>  
     </server>  

4.总结

那其实关于打包上传到maven的私服仓库的步骤以及细节还有很多,今天我们的主要是将项目跑起来,如果在上面的步骤没有出错的情况下,而且每个公司的账号密码可能会修改,而且私服仓库里面还涉及到角色的权限问题。所以大家在刚进公司的时候最好脸皮厚一点,多去问问同事或者组长。那今天的分享就到这里,后期我会更加完善maven这块的知识,大家加油咯。
有啥不对的希望大家指出来啊,三克油。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐