Maven: конфликтные jar-зависимости - PullRequest
2 голосов
/ 22 декабря 2011

У меня есть проект с двумя версиями одного и того же фляги (они реализуют подобные классы и другие определенные классы). Один jar используется для исходных файлов java в одной папке, а другой - для другой папки.

Проблема в том, что это вызывает конфликт jar (реализация различных классов), поскольку кажется, что обе папки используют первый jar, найденный в списке зависимостей, такой как:

Jar_file ... 1.0.0

Jar_file ... 2.0.0

Тогда мой вопрос: как я могу связать эти конкретные зависимости с каждой папкой в ​​одном и том же проекте?

Приветствие.

1 Ответ

5 голосов
/ 24 декабря 2011

Вы должны реорганизовать две «папки» в два разных модуля maven.Теперь каждый может объявить версию библиотеки, которая ему требуется.Затем используйте maven-shade-plugin , чтобы добавить библиотеку в результирующие файлы JAR для обоих модулей.Дополнительно используйте функцию перемещения классов в плагине maven-shade-plugin, чтобы переместить классы библиотеки в новые пакеты.Выберите разные имена пакетов для двух версий библиотеки.В результате вы получите обе версии библиотеки в виде двух разных пакетов, заштрихованных в результирующие файлы JAR.

...