Я тоже столкнулся с этой проблемой,
Это потому, что DocumentBuilderFactory
доступно и в других пакетах.
Причина
Иногда dependencies
принимают transitive dependencies
вместе с этим себя
Например
Класс XYZ
доступен также в jarA
, JarB
и JarC
. Эта проблема не была видна до Java8
, но после Java9
выпуска, Java9
выпуска с Java Platform Module System .
Эта система модулей ограничивается наличием нескольких классов в разных банках с одинаковыми именами, я не говорю, что у нас не может быть одинаковых имен в разных классах, для этого вам нужно написать module-info.java
и преобразовать ваше приложение в Module System
.
Если вы не планируете переносить ваше приложение в Module System
, тогда вы можете сделать это, удалить зависимости, которые не требуются для ваших приложений и имеют классы с одинаковыми именами.
Как и для вашей проблемы, что вы можете сделать
- Открыть проект в
eclipse
- Нажмите
ctrl
+ shit
+ T
>
- Откроется диалоговое окно> введите имя вашего класса, которое создает проблему,>
- Диалог покажет пакеты, которые содержат одинаковые
class
, сейчас
узнать пакет, который не требуется или переходное свойство
из-за другой зависимости>
Right click
на имя пакета и нажмите show in
Package Explorer
>
- Теперь у вас будет
jar
имя, remove
или exclude
, которое jar
from your dependency manager, Like
Gradle or
Maven Or
Ivy`
Это поможет вам, потому что это помогло мне тоже.
Я знаю длительный процесс, но твоя любовь - твоя любовь, ты должен поддерживать это.
joy Наслаждайтесь ?