ivysettings.xml: add local maven path

三世轮回 提交于 2019-11-27 15:44:46

问题


How to add a local path (not URL) to ivysettings.xml? I need to add my Maven local repository (/Users/me/.m2/repository to it.

Thanks


回答1:


Try the following ivysettings.xml file:

<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>

It includes Maven central in case the dependency is missing from the local Maven repo.

Note:

The benefits of re-using a local Maven repository are limited. Ivy caches jars retrieved from repostories.




回答2:


Ivy dependencies are resolved with "Resolvers".

This page is pretty good for understanding the basics of how they work.

http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html

Specifically : How can I "resolve" a local maven repository ?

Ivy has a "FileSystemResolver" which, rather than taking in a web address, can simply resolve from a local, root path. Note that there are some gotchas when things get complicated, like this one : http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html . Resolvers are similar to maven Repository tags, in that they define a resource.

A quick word of advice

Remember that once you customize ivysettings.xml if you are using an IDE, you will have to tell it to specifically use YOUR ivysettings.xml file, rather than some internal default.




回答3:


I found out that in the more recent versions of sbt you can do

sbt publish-m2



回答4:


Prior to 0.13.7, SBT ignored the Maven's settings.xml to use the <localRepository> setting. See https://github.com/sbt/sbt/issues/1589. In some cases, this will obviate the need to change ivysettings.xml when using publish-m2.



来源:https://stackoverflow.com/questions/8617963/ivysettings-xml-add-local-maven-path

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!