Есть ли возможность использовать локальный репозиторий Maven (~ / .m2) в качестве локального кеша Ivy (~ / .ivy)? У них разные раскладки.
Иногда я использую Maven, а иногда SBT, который использует Ivy внизу, поэтому у меня есть 2 копии одинаковых библиотек как в Maven, так и в Ivy. Я хотел бы использовать тот же каталог, чтобы сэкономить дисковое пространство и сеть.
Спасибо.
Вы можете указать кеш и структуру кеша с помощью
<cache/> Tag
.
Думаю, вам придется изменить шаблоны для файлов artifacts / ivy.xml.
Метка описана здесь: http://ant.apache.org/ivy/history/2.0.0/settings/caches.html .
Кажется, что это должно работать, но я никогда не пробовал:).
Я добавил настройки кеша в следующем файле. Это правильный метод? 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>