Заставить плющ не скачивать исходники и файлы лицензий
Есть ли способ настроить ivy, чтобы он не загружал исходники и файлы лицензий через ivy.xml?
В настоящее время я пытаюсь использовать репозиторий ivy по умолчанию + репозиторий Spring. мой ivysettings.xml ниже:
<?xml version="1.0" encoding="ISO-8859-1"?>
<settings defaultResolver="springSource" />
<include url="${ivy.default.settings.dir}/ivysettings-public.xml" />
<include url="${ivy.default.settings.dir}/ivysettings-shared.xml" />
<include url="${ivy.default.settings.dir}/ivysettings-local.xml" />
<include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml" />
<include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml" />
<resolvers>
<chain name="springSource">
<url name="com.springsource.repository.bundles.release">
<ivy
pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
<artifact
pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
</url>
<url name="com.springsource.repository.bundles.external">
<ivy
pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
<artifact
pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
</url>
<ibiblio name="public" m2compatible="true" />
<ibiblio name="shared" m2compatible="true" />
<ibiblio name="local" m2compatible="true" />
<ibiblio name="main-chain" m2compatible="true" />
<ibiblio name="default-chain" m2compatible="true" />
</chain>
</resolvers>
1 ответ
Используйте конфигурации ivy, чтобы указать желаемое отображение на зависимости ваших зависимостей (называемые транзитивными зависимостями):
Не знаю, какую версию Spring вы используете, этот пример загружает версию 3.0:
<ivy-module version="2.0">
<info organisation="com.myspotontheweb" module="demo"/>
<configurations>
<conf name="compile" description="Compile classpath"/>
</configurations>
<dependencies>
<dependency org="org.springframework" name="org.springframework.core" rev="3.0.0.RELEASE" conf="compile->default"/>
</dependencies>
</ivy-module>
При ссылке на конфигурации модулей Maven обращайтесь к областям Maven. Область по умолчанию в Maven будет компилироваться, но вы можете ссылаться на любую другую общедоступную область.
Дополнительное примечание
Я использую гораздо более простой файл настроек:
<ivysettings>
<settings defaultResolver="chain"/>
<resolvers>
<chain name="chain">
<ibiblio name="central" m2compatible="true"/>
<ibiblio name="spring-release" root="http://repository.springsource.com/maven/bundles/release" m2compatible="true"/>
<ibiblio name="spring-external" root="http://repository.springsource.com/maven/bundles/external" m2compatible="true"/>
</chain>
</resolvers>
</ivysettings>
По моему мнению, ibiblio resolver - это самый простой способ интеграции с удаленным репозиторием Maven. Я думаю, что запутанное имя является историческим, восходит к первоначальному названию первого сайта хранилища Maven. Вам нужно будет дополнительно указать атрибут m2compatible, поскольку исходный формат репозитория Maven 1 теперь почти неизвестен.
Возможно, однажды разработчики ivy создадут новый распознаватель maven, который облегчит жизнь новым пользователям.