如何向ivysettings.xml
添加本地路径(不是网址)?我需要添加我的Maven本地存储库(/Users/me/.m2/repository)。
由于
答案 0 :(得分:26)
尝试以下 ivysettings.xml 文件:
<ivysettings>
<settings defaultResolver="default"/>
<property name="m2-pattern" value="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]" override="false" />
<resolvers>
<chain name="default">
<filesystem name="local-maven2" m2compatible="true" >
<artifact pattern="${m2-pattern}"/>
<ivy pattern="${m2-pattern}"/>
</filesystem>
<ibiblio name="central" m2compatible="true"/>
</chain>
</resolvers>
</ivysettings>
它包含Maven中心,以防本地Maven回购中缺少依赖。
注意:强>
重用本地Maven存储库的好处是有限的。常春藤缓存从repostories中取出的罐子。
答案 1 :(得分:2)
常春藤依赖项通过“解析器”解决。
这个页面非常适合理解它们如何工作的基础知识。
http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html
具体来说:如何“解析”本地maven存储库?
Ivy有一个“FileSystemResolver”,它可以简单地从本地根路径解析而不是接收网址。请注意,当事情变得复杂时,有一些问题,例如:http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html。解析器类似于maven存储库标记,因为它们定义了资源。
快速提出建议
请记住,如果您使用IDE,一旦自定义了ivysettings.xml,您必须告诉它专门使用您的ivysettings.xml文件,而不是某些内部默认值。
答案 2 :(得分:1)
我发现在更新版本的sbt中你可以做到
sbt publish-m2
答案 3 :(得分:0)
在0.13.7之前,SBT忽略了Maven的settings.xml以使用<localRepository>
设置。见https://github.com/sbt/sbt/issues/1589。在某些情况下,这将消除在使用publish-m2
时更改ivysettings.xml的需要。