2016-05-03 6 views
0

Мне нужно проверить заказ на впрыскивание Maven автоматически. В модуле Maven я беру две зависимости с одинаковыми именами классов и пакетов. Одна зависимость должна всегда иметь приоритет на другой, это означает, что она должна быть объявлена ​​первой из-за порядка вложений Maven.Проверка порядка зависимостей Maven

Это можно проверить с помощью дерева зависимостей, но вручную, я хочу, чтобы есть возможность проверить это автоматически.

Знаете ли вы, возможно ли это сделать с Maven?

+0

Не совсем понятно, о чем вы просите. Если классы не имеют одинакового канонического имени, они не должны сталкиваться в большинстве случаев. Почему вопрос загрузки? – rmlan

+0

Потому что Maven принимает первого, кто объявляется, если два класса имеют одинаковое каноническое имя. Я буду уверен, что всегда есть исправленный, а не тот, который ядро. – Rumoch

+0

Хорошо, тогда «для ядра имя пакета - ch.a.product, а для патча имя пакета ch.b.product» запутывает, так как это предполагает, что классы do * not * имеют одинаковое каноническое имя , – rmlan

ответ

0

Прежде всего, «инъекция зависимостей» - это нечто совершенно иное и не связанное: управляемые магические механизмы для передачи необходимых объектов из «снаружи» при построении объектов.

Maven просто компилирует код с баночками зависимости в пути к классам. Любой вариант классов, посвященных обезьянкам, должен позволять скомпилировать ваш код одинаково, поэтому (чтобы минимизировать поломку) вам следует избегать дублирования или конфликтующих зависимостей Maven.

Надежная загрузка классов замены во время выполнения, когда Maven больше не участвует, это совершенно другая проблема, решение которой зависит от того, как ваше приложение упаковано и выполнено. Например, порядок банок в типичном списке классов классов должен быть надежным, и большинство серверов приложений предлагают способы указать и переопределить друг с другом различные глобальные и прикладные классы классов.

Смежные вопросы