Maven несовместимый класс зависимостей библиотеки - PullRequest
1 голос
/ 25 февраля 2020

Мое приложение определено с зависимостью от jar внешней библиотеки

<dependency>
    <groupId>com.lib</groupId>
    <artifactId>Encoder</artifactId>
</dependency>

Имеет две версии 1.0 и 2.0. Класс, принадлежащий библиотеке, обновлен в своей структуре пакета между этими версиями, как показано ниже.

1.0 - ab c .Template

2.0 - xyzTemplate

Другая зависимость под названием «Помощник», используемая в моем приложении, также содержит указанную выше библиотеку Encoder, но с версией 1.0.

Теперь мое приложение определено с библиотекой Encoder версии 2.0 вместе с ' Помощник 'зависимость.

Использование моего приложения библиотеки Encoder

import x.y.z.Template
..

Использование' Помощник 'зависимости библиотеки Encoder

import a.b.c.Template
..

Сбой сборки кода с классом Ошибка: файл не найден, как показано ниже.

не может получить доступ к файлу класса ab c .Template для ab c. Шаблон не найден

Благодарим вас за помощь в поиске решение для того же. Заранее спасибо!

1 Ответ

1 голос
/ 25 февраля 2020

Лучше всего избегать вышеуказанной ситуации, тщательно выбирая версии зависимостей, пока все не будет работать гладко.

Если это слишком сложно, вы можете взглянуть на maven-shade-plugin, который позволяет вам перемещать пакеты, которые объединены в зависимость.

...