2016-06-17 3 views
1

У меня есть одно приложение, которое требует как джерси 1.9, так и джерси 2. И я не хочу строить его на сборной баночке, поэтому тень для меня не работает. Есть ли другой способ заставить их сосуществовать? СпасибоКак сделать джерси 1.9 и джерси 2 сосуществовать?

+0

Почему ваша заявка требует обе версии Джерси? Это кажется действительно ужасной идеей - особенно если вы не собираетесь затушевывать, это просто требует огромных головных болей. –

+0

Я согласен на 100% с комментарием @ MattBall. – ck1

+0

Maven разрешит только одну зависимость в вашем модуле и опустит другие версии, чтобы избежать конфликтов. Даже если несколько версий одной и той же зависимости используются во всей иерархии зависимостей, Maven выберет одну версию, используя стратегию «ближайшего в дереве зависимостей». – mebada

ответ

-1

Вы можете использовать плагин Maven Shade, чтобы переместить имена пакетов Джерси 1 и JAX-RS API 1.0, а затем использовать полученную банку с Джерси-2 банками. К сожалению, нет другого способа узнать, как они сосуществуют.

https://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#relocations

+0

Почему голос? Я лично делал это раньше, поэтому я знаю, что он работает. :-) – ck1

+0

Я не голосовал, но я думаю, что это потому, что он писал: «Я не хочу строить его на сборной баночке, поэтому тень для меня не работает». – MaxG

+0

Спасибо @MaxG. Это поможет, если я внимательно прочитаю вопрос! – ck1

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