2010-07-02 371 views
7

如何执行Maven到只使用我的本地存储库和内部网上的单个特定存储库而不是从互联网上下载任何东西?即使我的POM都指定了单个公司的内部存储库,但maven会去从libs的POM文件中取得的互联网存储库来获取依赖关系。如何防止Maven访问远程仓库?

回答

5

在您的settings.xml中(通常在%user.home%/ m2下),您可以配置它。

E.g.

<mirrors> 
    <mirror> 
     <id>repo.example.com</id> 
     <mirrorOf>*</mirrorOf> 
     <name>Internal repo</name> 
     <url>http://repo.example.com/repo</url> 
    </mirror> 
</mirrors> 

的关键部分存在<mirrorOf>*</mirrorOf>这意味着所有的请求都将在这个仓库被引导。

+0

我试过了,它确实有效。我将等待一点,然后将其标记为解决方案,因为它看起来像黑客 - 我希望有一些特定选项或cmd行参数等。感谢您解决我的实际问题! – 2010-07-02 13:53:50

+2

这完全不是黑客,这是您如何配置全局资源库管理器。这是我们建议人们在安装Nexus之类时要做的事情。 – 2010-07-09 06:35:51