Проблема, с которой я часто сталкиваюсь, заключается в том, что я использую настоящие библиотеки в своих проектах. Теперь, если я использую эту банку в старых проектах, у меня есть conflicts between the dependencies
. Лучший пример — Guava
. В некоторых проектах у меня есть версия 12/13, а фактическая версия Guava — 18, которую я использую в новых проектах/библиотеках.
Было бы неплохо упаковать все зависимости в jar, например, если я использую Guava 18, он переупаковывается как собственные классы в собственном дереве пакетов для этого проекта, поэтому я могу использовать более новый jar в своих старых проектах с зависимостью от проекта. для Guava 13 без каких-либо конфликтов версий Guava, потому что импортированный jar/lib/dependency по-прежнему использует перепакованную версию Guava 18.
Кто-нибудь знает хороший способ сделать это? Любые рамки для этого? Надеюсь, я правильно объяснил свою проблему.
Факты (что я использую): Java 1.6-1.8 и Ivy и Eclipse Luna