Конфликтующие зависимости в жирных банках
Я написал два толстых фляги, чтобы преобразовать файл EDI в вывод JSON. Я создал две толстые банки, потому что я должен обрабатывать два типа EDI. Жирные банки выглядят как ниже
EDI417Converter.jar
- Mapping.jar (Generated by Altova, and EDI mapping tool))
EDI418Converter.jar
- Mapping.jar (Generated by Altova, but supports a different type of EDI and the packag and class names are the same as the one above)
Когда я пытаюсь преобразовать EDI в JSON с помощью этих толстых jar-файлов, которые когда-либо поддерживает тип EDI, первый загруженный jar преобразуется, а другой отказывает. (Это очевидно, потому что загрузчик классов Java загружает один и тот же класс только один раз).
В качестве обходного пути я изменил наименование пакета одного из Mapping.jars. Но это решение не обслуживаемо, потому что каждый раз, когда я генерирую новый Mapping.jar для нового типа EDI, мне также приходится менять наименование пакета.
У меня вопрос, есть ли способ, которым я могу использовать обе эти жирные банки в одном проекте без переименования структуры пакета?