连接maven私服仓库

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这块的知识,大家加油咯。
有啥不对的希望大家指出来啊,三克油。

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Maven是一款流行的项目构建工具,它可以帮助开发人员管理项目依赖和构建过程。在使用Maven构建项目时,我们可以通过配置私服仓库来获取项目所需的依赖。 私服仓库是一种由团队或组织自行维护的Maven仓库,用于存储项目的依赖库。相比于公共仓库私服仓库可以提供更快的下载速度和更可控的访问权限。 要从私服仓库获取依赖,首先需要在Maven的配置文件(settings.xml)中添加私服仓库的配置。在该文件中,可以配置多个私服仓库,每个私服仓库都有一个唯一的id和url地址。 当需要从私服仓库获取依赖时,只需要在项目的pom.xml文件中指定依赖的groupId、artifactId和版本号即可。Maven会根据这些信息,到配置的私服仓库中搜索对应的依赖,并自动下载到本地仓库。 在开发过程中,经常会遇到私有依赖需要从私服仓库获取的情况。私有依赖是指项目中自己开发的或者来自于组织内部的依赖,这些依赖无法在公共仓库中找到。通过配置私服仓库,我们可以将这些私有依赖发布到私服仓库,并在其他项目中使用。 总的来说,通过配置私服仓库,我们可以更高效地获取项目所需的依赖,提高项目构建的速度和稳定性,同时也方便了团队内部的依赖共享。 ### 回答2: Maven是一个开源的构建工具,可用于自动化构建和依赖管理。在使用Maven构建项目时,可以从私服仓库获取依赖。 私服仓库是一种自建的Maven仓库,用于存储项目依赖和构建产物。相比于公共的中央仓库私服仓库可以提供更高的稳定性和可控性。 要从私服仓库获取依赖,首先需要在项目的pom.xml文件中配置私服仓库的地址。这可以通过在<repositories>标签内添加<repository>标签来完成。在<repository>标签中,需要设置仓库的唯一标识、URL、以及可选的认证信息。 配置好私服仓库后,Maven会自动检查项目所需的依赖是否在私服仓库中存在。如果存在,则会从私服仓库下载依赖到本地的仓库中。如果未找到依赖,Maven还会进一步检查其他配置的远程仓库,包括中央仓库和其他已配置的仓库私服仓库的配置也可以通过Maven的配置文件settings.xml进行全局配置。通过在settings.xml文件中配置<mirrors>标签,可以设置多个私服仓库,包括仓库的唯一标识、URL和认证信息。 总结来说,要从私服仓库获取依赖,需要在项目的pom.xml文件或Maven的配置文件settings.xml中配置私服仓库的地址和认证信息。配置完成后,Maven会自动检查并下载依赖到本地仓库中,以供项目构建使用。 ### 回答3: Maven是一个开源的项目管理和构建自动化工具,它使用仓库(Repository)来管理项目的依赖关系。通常情况下,Maven会从中央仓库(Central Repository)获取依赖项。 然而,在某些情况下,中央仓库中可能没有我们需要的特定依赖项,或者我们希望使用私有仓库来管理某些自定义的依赖项。这时,我们可以通过配置Maven来从私服仓库获取依赖项。 首先,我们需要在 Maven 的配置文件settings.xml中添加私服仓库的配置信息。settings.xml默认位于Maven的安装目录的conf文件夹中。我们可以打开该文件,在<settings>标签下找到<mirrors>标签,然后在<mirrors>标签内部添加私服的配置信息。例如: <settings> ... <mirrors> <mirror> <!-- ID,用于标识私服 --> <id>my-mirror</id> <!-- 私服的URL --> <url>http://my.private.repo</url> <!-- 是否在下载时跳过中央仓库,默认false --> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ... </settings> 在这个配置中,我们为私服仓库指定了一个唯一的ID(my-mirror),并且设置了私服的URL(http://my.private.repo)。在<mirrorOf>标签中,我们可以指定需要从私服仓库获取的依赖项。在上面的例子中,我们将中央仓库(central)作为需要跳过的镜像。 保存并关闭settings.xml配置文件后,我们就可以使用Maven私服仓库获取依赖项了。当我们向项目的pom.xml文件中添加需要的依赖项时,Maven会自动检查并从私服仓库获取相关依赖。如果私服仓库中存在该依赖项,那么Maven会在构建过程中自动下载并使用该依赖项。 总之,通过配置Maven的settings.xml文件,我们可以轻松地从私服仓库获取项目所需的依赖项,确保项目的构建和管理更加灵活和可靠。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值