Как решить, читает пакет org.jdbi.v3.core как из ru.vyarus.dropwizard.guicey.jdbi3, так и из org.jdbi.v3.core

#java #maven #modularity

Вопрос:

Хотел модульизировать все приложение, т. е. перейти с Java 8 на Java 11, но с модульностью возникли некоторые конфликты зависимостей.

введите описание изображения здесь

введите описание изображения здесь

Эти обе банки имеют пакеты с одинаковыми именами, что приводит к более чем 100 ошибкам компиляции с:

[ERROR] error: module java.xml.bind reads package org.jdbi.v3.core from both org.jdbi.v3.core and ru.vyarus.dropwizard.guicey.jdbi3 Сообщения. Попытался исключить из ru.vyarus.dropwizard.guicey.jdbi3 org.jdbi.v3 с помощью Maven, но это не сработало

 <dependency>
          <groupId>ru.vyarus.guicey</groupId>
        <artifactId>guicey-jdbi3</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.jdbi</groupId>
                <artifactId>jdbi3-core</artifactId>
            </exclusion>
        </exclusions>
</dependency>
 

Пожалуйста, посоветуйте.

Ответ №1:

Что ж, глубокое погружение в Java 9 дает самый простой ответ, все дело в

проблема разделения пакетов

это должно быть решено.

Очень интересные решения предлагаются в разделе «Как исправить проблему с разделением пакета«.