Maven - 指向* single *存储库

时间:2011-11-11 17:36:19

标签: maven nexus

我有一个Nexus Maven存储库,我想成为我的项目使用的唯一的存储库

根据Nexus documentation,要解决此问题,我应该更改我的本地.m2 / settings.xml。

更改我的settings.xml以解决此问题不是一个好习惯,因为它无法在不同的开发人员计算机/ CI服务器之间移植。

我想要做的是将我的全局父pom更改为“对于使用我作为父级的所有项目,只使用此存储库”。我怎样才能做到这一点?我看到我可以将我的存储库添加为已检查的存储库的一个,而不是 only 存储库。我尝试将'mirror' section of the settings file切割并粘贴到我的pom上,但不允许“镜像”。

有什么想法吗?

谢谢, 罗伊

3 个答案:

答案 0 :(得分:1)

假设您为所有开发人员安装了“标准”Maven,则可以更改$M2_HOME/conf/settings.xml

否则,如果没有智能网络代理,你就会失败。

答案 1 :(得分:1)

调整Nexus修改$ HOME / .m2 / settings.xml的说明。有一个引用Nexus的网络设置文件。所有开发人员(以及您的CI服务器)都应使用此设置文件。

所有开发人员如何引用这一个设置文件?

有两种方法可以剥皮猫。

选项1:别名Maven命令。
在UNIX上:alias mvn=mvn -s /networked/path/to/settings.xml
在Windows上:打开mvn.bat。找到mvn调用并类似地改变它

选项2:链接到联网位置的主页/设置
在UNIX上:cd $HOME; rm settings.xml;ln -s /networked/path/to/settings.xml settings.xml
在Windows上:我不知道符号链接的等效foo

答案 2 :(得分:0)

您是否尝试在pom中配置<repositories>元素?

<project>
  ...
    <repositories>
      <repository>
        <id>my-internal-site</id>
        <url>http://myserver/repo</url>
      </repository>
    </repositories>
  ...
</project>

可以在Maven Internal Repositories页面找到更多信息和详细信息。