是否存在本地远程Maven存储库?

是否存在本地远程Maven存储库?,maven,repository,pom.xml,archiva,Maven,Repository,Pom.xml,Archiva,我有一个安装在其上的生成框: 专家 竹子 阿奇瓦 我已经将Bambol配置为从远程Git源获取我的Maven项目,然后以“干净安装”为目标构建它 我已为Archiva配置了两个回购协议: 镜子-中央的镜子 dev-repo用于我的工件 我对Maven settings.xml进行了以下更改: # Define local repo - this is the same location as i have set up for the Archiva 'dev' repo. <localR

我有一个安装在其上的生成框:

专家 竹子 阿奇瓦 我已经将Bambol配置为从远程Git源获取我的Maven项目,然后以“干净安装”为目标构建它

我已为Archiva配置了两个回购协议:

镜子-中央的镜子 dev-repo用于我的工件 我对Maven settings.xml进行了以下更改:

# Define local repo - this is the same location as i have set up for the Archiva 'dev' repo.
<localRepository>/opt/maven-repo/dev</localRepository>

# Define the Archiva mirror i set up
<mirror>
  <id>mirror</id>
  <url>http://localhost:8080/repository/mirror/</url>
  <mirrorOf>external:*</mirrorOf>
</mirror>
当我执行构建时,Maven通过镜像获取外部的一切,然后将构建的工件以及从镜像获取的其他jar添加到dev中。所以我现在有一些重复的罐子

\repo\mirror\junit\junit \repo\mirror\classworlds\classworlds \repo\dev\junit\junit \repo\dev\classworlds\classworlds \repo\dev\me\myartifact

我的问题是,正确的方法是什么?真的,我只想让“dev”和我的工件保持一致,镜像来自central的所有东西——我不想要重复的东西

我应该使用settings.xml中的LocalRepository配置,还是应该使用“mvn deploy”通过其他方法将工件放入我的Archiva存储库中

有人能澄清一下本地和远程存储库的不同用例吗

最后,我应该如何定义我的POM?目前,我刚刚定义了

<distributionManagement>
    <repository>
        <id>dev</id>
        <url>file:///repo/dev</url>
    </repository>
</distributionManagement>

我应该在我的镜像中添加吗?

要将工件放入您的存储库管理器中,您应该使用默认的maven部署插件,它可以由控制。将这些东西放在哪里的目标是通过定义distributionManagement来控制的

... 释放 释放 http://urlArchiva/releases/ 快照 快照 http://urlArchiva/snapshots/ ... ... 用于从中使用工件的存储库在settings.xml中定义

关系 * http://serverUrlArchiva/public/ 关系 中心的 http://central 符合事实的 符合事实的 中心的 http://central 符合事实的 符合事实的 关系 在竹子上,您应该能够控制每个构建使用哪个settings.xml来拥有本地存储库,从而使构建相互独立