这两个设置在maven中是否相同?
我想限制maven只使用私有/非公共maven存储库,这两个设置有同样的效果吗?
1.在settings.xml中设置镜像
my-internal-site * our maven repository http://myserver/repository
2.在pom.xml中设置存储库
my-internal-site our maven repository http://myserver/repo
同样的要求是,即使内部存储库中没有某些依赖项,maven 也永远不会访问公共存储库。 谢谢
不,他们没有相同的效果。
第二个设置添加一个新的存储库作为中心的“补充”,但不会阻止Maven自行检查中心。
第一个通过让Maven镜像所有存储库请求(通过将mirrorOf
设置为*
)来强制Maven使用单个存储库。 这是使用单个存储库的方法 。
因此,您正在寻找的是第一个设置,需要在settings.xml
定义。
现在,在每台机器的~/.m2/settings.xml
文件中添加您的公司存储库可能有点痛苦,我喜欢在公司环境中做的是分发和安装包含镜像的Maven的“自定义”版本在conf/settings.xml
预定义。 这样,人们只需要安装“公司”版本,他们就可以开始了。
不,他们意味着不同的事情:
在第一个示例中,您说给定的存储库是所有存储库的镜像, 包括官方存储库。
在第二个示例中,您只需添加一个新存储库。 如果在本地存储库中找不到依赖项,Maven将在搜索官方存储库后查看此存储库。
因此,要强制使用内部存储库,必须在settings.xml
文件中配置mirror
。
这在Maven的官方文档中有解释。
- 如何使用Eclipse调试servlet
- 在Maven包之后无法读取模式文档
- 在Hudson或其他CI工具中使用Ant自动检出和编译Eclipse项目的最佳方法?
- 无法加载bean:type:org.apache.struts2.views.gxp.inject.InjectedObjectContainer
- 选择哪个Eclipse IDE版本?
- 在Eclipse中使用和测试Web服务
- 如何在eclipse svn存储库中更改用户?
- 找不到工件javax.sql:jdbc-stdext:jar:2.0 in central(https://repo.maven.apache.org/maven2)
- MacOSX Snow Leopard和Eclipse:启动Eclipse时出错(没有Java虚拟机……)