Как настроить каталог кэша Ivy, в расчете на пользователя или в масштабе всей системы?

Я использую систему онлайн бронирования в качестве своего инструмента сборки для того, чтобы разработать проект Scala.

Моя проблема, я не могу настроить систему онлайн бронирования для загрузки зависимостей на мой пользовательский корневой каталог. Поэтому я ищу в расчете на пользователя или еще лучшее установка в масштабе всей системы, чтобы сказать системе онлайн бронирования помещать каталог кэша Ivy где-то в другом месте.

Со знатоком существует settings.xml в расчете на пользователя, который может использоваться для конфигурирования локального репозитория.

Я считал вопрос, Как переопределить местоположение Кэша Плюща? и это - ответы, но кажется, что это только описывает, как настроить установку на на основание проекта.

Если бы нет никакой альтернативы, я пошел бы для установки на проект, но я не получил ответ от упомянутого вопроса работать. Еще некоторые детали приветствовались бы, например, куда поместить ivysettings.xml. Я поместил его в корневой каталог проекта, и это не работало.

32
задан Community 23 May 2017 в 12:26
поделиться

2 ответа

Вы можете просто добавить переменную среды в сценарий оболочки запуска sbt:

java -Dsbt.ivy.home=/tmp/.ivy2/ ...

См. Управление библиотекой в официальной документации.

30
ответ дан 27 November 2019 в 20:00
поделиться

Расположение файлов ivy

Обычно я помещаю файлы ivy.xml и ivysettings.xml вместе с файлом сборки следующим образом:

build.xml
ivy.xml
ivysettings.xml

Задачи плюща разрешают и получают должны найти оба файла.

Например:

<target name="init" description="--> retrieve dependencies with ivy">
    <ivy:retrieve pattern="lib/[conf]/[artifact].[ext]"/>
</target>

Странно, но у вас это не работает.

Пользовательские настройки

Вы можете эмулировать файл настроек maven двумя способами

1) включить директиву в проект ivysettings.xml

<ivysettings>
    <include file="${user.home}/.ivy2/my-ivysettings.xml"/>
</ivysettings>

2) Установить местоположение из файла сборки

<target name="init" description="--> retrieve dependencies with ivy">
    <ivy:settings file="${user.home}/.ivy2/my-ivysettings.xml" />
    <ivy:retrieve pattern="lib/[conf]/[artifact].[ext]"/>
</target>

3) Я никогда не пробовал это, но думаю, вы можете изменить местоположение по умолчанию, используя свойство ANT

ant -Divy.settings.file=$HOME/.ivy2/my-ivysettings.xml
3
ответ дан 27 November 2019 в 20:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: