Nano Hash - криптовалюты, майнинг, программирование

Как исключить глобальную зависимость Grails

Grails имеет bouncycastle:bcprov-jdk14:138 в качестве глобальной зависимости

+--- org.grails:grails-docs:2.3.3
|    \--- org.xhtmlrenderer:core-renderer:R8
|    \--- org.yaml:snakeyaml:1.8
|    \--- org.grails:grails-gdoc-engine:1.0.1
|    \--- com.lowagie:itext:2.0.8
|         \--- bouncycastle:bcmail-jdk14:138
|         \--- bouncycastle:bcprov-jdk14:138
|    \--- commons-lang:commons-lang:2.6

Но моему приложению нужен файл bcprov-jdk15on-149. Когда я добавил его как зависимость, он не вытесняет старую версию.

dependencies {
    build 'org.bouncycastle:bcpg-jdk15on:1.49'
    build 'org.bouncycastle:bcprov-jdk15on:1.49'
}

Я пробовал много вариантов, чтобы исключить это, но ни один не работает

inherits("global") {
    //excludes 'grails-docs'

    excludes 'org.bouncycastle:bcmail-jdk14:138'
    excludes 'bouncycastle:bcmail-jdk14:138'
    excludes 'bcmail-jdk14-138.jar'
    excludes 'bcmail-jdk14'
    excludes 'bcmail'

    excludes 'bouncycastle:bcprov-jdk14:jar:138'
    excludes 'org.bouncycastle:bcprov-jdk14:138'
    excludes 'bouncycastle:bcprov-jdk14:138'
    excludes 'bcprov-jdk14-138.jar'
    excludes 'bcprov-jdk14'
    excludes 'bcprov'
    excludes 'bouncycastle'
}

Единственный способ заставить это работать - полностью исключить зависимость от 'grail-docs'.

Как исключить только старый bcprov-jdk14:138?

Или как сделать, чтобы новый(bcprov-jdk15on-149) вытеснял старый(bcprov-jdk14:138)?


  • Попробуйте compile 'org.bouncycastle:bcpg-jdk15on:1.49'. Следует использовать более новую версию. 27.11.2013
  • Спасибо за ответ, но я уже пробовал, и это не сработало. Похоже, что проблема в распознавателе зависимостей «maven» (который используется Grails с версии 2.3), потому что с распознавателем «ivy» все работает нормально. 27.11.2013
  • Если вы измените BuildConfig.groovy на использование Ivy, это сработает? Тогда я думаю, вам следует поднять Jira. 27.11.2013
  • У кого-нибудь есть ответ на этот вопрос? Я тоже застрял... 23.01.2014

Ответы:


Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..