Как предотвратить переопределение зависимостей Джексона-Элитрона?JAVA

Программисты JAVA общаются здесь
Anonymous
Как предотвратить переопределение зависимостей Джексона-Элитрона?

Сообщение Anonymous »

У меня есть следующая структура зависимости (выраженная в структуре «псевдо») < /p>

Код: Выделить всё

- app
-- compileOnly(wildfly-elytron)
-- implementation(jackson)
-- implementation(project(:core))

- core
-- implementation(wildfly-elytron)
< /code>
где < /p>
[list]
[*]wildfly-elytron
is org.wildfly.security:wildfly-elytron:1.15.16.final
[*]-это com.fasterxml.jackson.core: jackson-annotation: 2.13.4
[/list]
Я пытаюсь обновить Джексон до 2.16.2, чтобы получить доступ к jsontypeinfo.id.simple_name , но я использую. Если я изменю версию зависимости в файле Gradle и разрешаю зависимости градл, то мой исходный код в приложении »не видит« изменение. И банка действительно содержит файлы класса Джексона. Кажется, они скрывают /переоценивают «фактическую зависимость Джексона, которую я пытаюсь использовать».

Код: Выделить всё

    compileOnly(project(core)) {
exclude group: "org.wildfly.security"
}

compileOnly (elytron) {
exclude group: "com.fasterxml.jackson.core"
}
< /code>
Но это не сработало. Код Джексона объединяется внутри самой банки Elytron, вместо того, чтобы быть транзитивной зависимостью, поэтому исключение Джексона из зависимости Elytron, вероятно, является пустой тратой времени. < /P>
Я также попробовал переупорядочить зависимость в приложении.app
использует Elytron's SecurityDomain , поэтому я не могу просто удалить зависимость, и в любом случае она транзисивно извлечена из Core, что я абсолютно не могу изменить.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... pendencies

Вернуться в «JAVA»