ivysettings.xml:添加本地maven路径

时间:2011-12-23 15:53:04

标签: java maven ivy

如何向ivysettings.xml添加本地路径(不是网址)?我需要添加我的Maven本地存储库(/Users/me/.m2/repository)。

由于

4 个答案:

答案 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的需要。