исключение модульных / транзитивных зависимостей из Gradle Build - PullRequest
0 голосов
/ 18 октября 2018

В настоящее время я пытаюсь построить проект Gradle Grails 3, где он использует Spring-context-support в качестве транзитивной зависимости при некоторой зависимости Spring во время компиляции, как объявлено в моем файле сборки.Мое приложение зависит от группы и артефакта / модуля в целом (то есть Spring-context-support), однако мне нужно явно избавиться от / исключить EhCache изнутри Spring-context-support.Я синтаксически знаю, как избавиться от всей зависимости поддержки контекста пружины, однако я не могу понять, как просто удалить кэширование ...

Снимок экрана прилагается, чтобы проиллюстрировать, что я имею в виду:эта строка без комментария удалит всю зависимость Spring-context-support: enter image description here

Здесь вы видите пакет «cache», содержащий модули Ehcache, от которых я пытаюсь избавиться.Как бы я изменил объявление исключения, чтобы удалить это?enter image description here

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Gradle (или Maven) позволит вам только исключить зависимость на уровне артефакта, у которой нет jar на пути к классам.Первоклассная поддержка фильтрации пакетов из зависимости отсутствует.

Для этого проще всего будет упаковать ваше приложение в толстую банку, отфильтровав пакеты, которые вы считаете ненужными.

Однако то, как формулируется твой вопрос, заставляет меня задуматься, нет ли путаницы.Внутри org.springframework.cache вы найдете не код Ehcache, а абстракцию кэширования Spring.Библиотека Ehcache является либо модулем из группы net.sf.ehcache, либо org.ehcache, и вы вполне можете исключить их.

0 голосов
/ 18 октября 2018

Исключение зависимостей описано в документации: https://docs.gradle.org/current/userguide/managing_transitive_dependencies.html#sec:excluding_transitive_module_dependencies

Удачи!

...