从Maven私服获取依赖

通过Internet直接从Maven公用仓库获取依赖包是默认配置。不过对于中国软件公司来讲,访问这些公用仓库通常较慢,对于一些管理严格的不能直接上网的软件公司来讲,这更加是不可能的。Maven项目可以配置成仅从Maven私服上获取依赖。

上一篇已经讲述了如何安装Nexus为Maven私服。下面就假定使用S1服务器上的Nexus服务。可以参考官方文档:

http://www.sonatype.com/books/nexus-book/reference/config-sect-intro.html

在开发机器上有Maven项目,首先编辑~/.m2/settings.xml.

<settings>
  <mirrors>
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://S1:8081/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>nexus</id>
      <!--Enable snapshots for the built in central repo to direct -->
      <!--all requests to nexus via the mirror -->
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
</settings>

只需要把S1改成自己的Nexus服务器地址就可以了。如果你的Maven项目的pom.xml中没有自定义的repository,那么就可以使用了。比如执行mvn clean compile命令,就可从S1上下载pom.xml和jar包。


注意,有时候nexus上已经部署了最新的snapshot,但是mvn clean compile就是不取最新版本,这时候需要用-U 参数强制检查。

mvn clean compile -U

如果还不行,则删除本地缓存的目录,在jenkins项目中可以在build之前执行一行命令,比如:

rm -rf /usr/share/tomcat7/.m2/repository/com/esri/carrier/nginx-factory/



  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值