ivysettings.xml: добавить локальный путь maven - PullRequest
20 голосов
/ 23 декабря 2011

Как добавить локальный путь (не URL) к ivysettings.xml?Мне нужно добавить свой локальный репозиторий Maven (/Users/me/.m2/repository.

Спасибо

Ответы [ 4 ]

26 голосов
/ 23 декабря 2011

Попробуйте следующий 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>

Включает Maven central на случай отсутствия зависимости в локальном репозитории Maven.

Примечание:

Преимущества повторного использования локального репозитория Maven ограничены.Кувшины с плющом извлекаются из хранилищ.

2 голосов
/ 23 декабря 2011

Зависимости плюща разрешаются с помощью «Resolvers».

Эта страница очень хороша для понимания основ того, как они работают.

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 в том смысле, что они определяют ресурс.

Быстрый совет

Помните, что после настройки ivysettings.xml, если вы используете IDE, вам нужно будет указать ему, что вы должны использовать ВАШ файл ivysettings.xml, а не какой-то внутренний параметр по умолчанию.

1 голос
/ 24 мая 2014

Я обнаружил, что в более свежих версиях sbt вы можете сделать

sbt publish-m2
0 голосов
/ 23 октября 2014

До версии 0.13.7 SBT игнорировал Maven settings.xml, чтобы использовать настройку <localRepository>. См. https://github.com/sbt/sbt/issues/1589. В некоторых случаях это избавит от необходимости изменять ivysettings.xml при использовании publish-m2.

...