С maven мы можем исключить некоторые транзитивные зависимости.запретить импорт некоторых транзитивных зависимостей maven
Но что, если они нам понадобятся во время выполнения, и все еще как архитектор, я не хочу, чтобы они использовались и стали зависимыми от API.
Есть ли инструмент для определения и проверки нежелательной используемой зависимости (т. Е. Импортированной в некоторый Java-класс)?
Поиск здесь дает мне намек на мавена In maven, can you disallow usage of transitive dependency in your code but still keep it in the classpath?
Но это может быть трудоемким, чтобы определить. Возможно, следует использовать инструменты IDE?
Как запретить импорт и использование некоторых транзитивных зависимостей maven? Так что код не будет доступен для разных уровней нашего стека.
Да, я понимаю, что какая-то воспитательная работа тоже должна идти.
https://github.com/nebula-plugins/gradle-lint-plugin не является ни maven, ни отключением зависимостей, но он сканирует фактические зависимости в коде, чтобы выяснить, какие из них [unused] (https://github.com/nebula-plugins/gradle-lint-plugin/wiki/Unused-Dependency-Rule). Возможно, вы могли бы адаптировать эту часть. – zapl
Приятно знать, но для maven вам понадобятся похожие. –
Я бы предложил глубокий взгляд на http://jqassistant.org/, который может определять такие правила и т. Д. – khmarbaise