在Maven中,如何在每个项目的基础上在本地和Intranet存储库之间切换?

时间:2012-12-19 19:55:25

标签: maven

我一直在使用Maven进行项目,这些项目定期连接到基于内部网络的外部存储库。我有时想做一些一次性的,我不希望他们连接到我的内部网 - 只是我的本地存储库。

在我的settings.xml文件中,我为这些项目添加了第二个配置文件,以便我可以在构建期间指定该配置文件,但我不知道如何告诉它我只是想要在/path/to/my/local/repo搜索本地存储库。

辅助配置文件在这里是正确的方法,还是我应该在离线(-o)模式下运行Maven并添加新镜像? I've seen some approaches similar to this,但不确定如何在镜像声明中设置路径而不是URL。

3 个答案:

答案 0 :(得分:1)

我留了两份maven。在其中一个,conf / settings.xml有< mirrors />对于我们的企业Nexus服务器。在另一方面,它没有。您可以根据需要扩展此技术,maven安装树不是很大。

答案 1 :(得分:1)

感谢@andrew_logvinov指出通过为-o请求指定“mvn”来执行此操作相对容易。您的settings.xml文件中不需要任何本地镜像设置或配置文件。

如果您需要将文件安装到本地存储库中,您可以执行以下操作:

mvn install:install-file -DgroupId=com.something -DartifactId=theArtifact -Dversion=1.2.3 -Dfile=/local/path/to/the/file/some.pom -Dpackaging=pom

答案 2 :(得分:1)

分离它的最佳方法是为repo / no repo,company 1用户,company 2用户,github上的私有黑客等不同用例提供单独的settings.xml。

然后您可以切换设置文件或使用命令行标志指定设置文件-s。