Используйте репозиторий maven в качестве локального кэша плюща - PullRequest
29 голосов
/ 02 июня 2011

Есть ли возможность использовать локальный репозиторий Maven (~ / .m2) в качестве локального кэша Ivy (~ / .ivy)? У них разные макеты.

Иногда я использую Maven, а иногда я использую SBT, который использует Ivy внизу, поэтому у меня есть 2 копии одинаковых библиотек как в Maven, так и в Ivy. Я хотел бы использовать тот же каталог, таким образом экономя дисковое пространство и сеть.

Спасибо.

Ответы [ 3 ]

24 голосов
/ 29 февраля 2012

Чтобы сохранить сеть , просто настройте ivy для использования локального репозитория Maven

      <property name="local-maven2-dir" value="${user.home}/.m2/repository/" />
      <filesystem name="local-maven-2" m2compatible="true">
            <artifact
                pattern="${local-maven2-dir}/[organisation]/[module]/[revision]/[module]-[revision].[ext]" />
            <ivy
                pattern="${local-maven2-dir}/[organisation]/[module]/[revision]/[module]-[revision].pom" />
        </filesystem>
5 голосов
/ 03 июня 2011

Вы можете указать кеш и структуру кеша с помощью

  <cache/> Tag

.

Я думаю, вам придется изменить шаблоны для файлов artifacts / ivy.xml.
Тег описан здесь: http://ant.apache.org/ivy/history/2.0.0/settings/caches.html.
Кажется, он должен работать, но я никогда не пробовал:).

0 голосов
/ 14 марта 2014

Я добавил настройку кеша в следующем файле.Это правильный метод?SBT все еще загружает файлы, которые присутствуют в локальном репозитории Maven (~/.m2/repository).

$ cat ~/.ivy2/ivysettings.xml
<ivysettings>
    <properties environment="env" />
    <caches defaultCacheDir="${env.WORKSPACE}/.ivy2/cache" />

    <property name="local-maven2-dir" value="${user.home}/.m2/repository/" />
    <filesystem name="local-maven-2" m2compatible="true" force="false" local="true">
      <artifact pattern="${gerald.repo.dir}/[organisation]/[module]/[revision]/[module]-[revision].[ext]"/>
      <ivy pattern="${gerald.repo.dir}/[organisation]/[module]/[revision]/[module]-[revision].pom"/>
    </filesystem>

    <chain name="internal" dual="true">
      <resolver ref="local-maven-2"/>
      <resolver ref="apache-snapshot"/> 
      <resolver ref="maven2"/>
    </chain>
</ivysettings>
...