Eclipse Java Editor выделяет ошибку, но код компилируется - PullRequest
1 голос
/ 02 мая 2019

При использовании JDK 11, Eclipse 2019-03 и jaxb-api (версия 2.4, последняя доступная в репозитории maven), редактор Java в Eclipse выделяет строку:

import javax.xml.XMLConstants;

как ошибка:

Пакет javax.xml доступен из нескольких модулей: без имени, java.xml

Но код компилируется и ошибки не отображаются на вкладке Проблемы. Удаление зависимости jaxb-api устраняет ошибку. jaxb-api в этом проекте находится в classpath и содержит следующие пакеты:

javax.xml.bind;
javax.xml.bind.annotation;
javax.xml.bind.annotation.adapters;
javax.xml.bind.attachment;
javax.xml.bind.helpers;
javax.xml.bind.util;

Это ошибка в Eclipse или проблема в зависимости / проекте?

Ответы [ 2 ]

3 голосов
/ 02 мая 2019

Да, это ошибка Eclipse 2019-03 Java IDE (в jaxb-api javax.xml это подпакет, который разрешен, но не реальный пакет, который не был бы разрешен):

Eclipse Bug 546315 - [11] «Пакет […] доступен из более чем одного модуля:, […]» ошибка, показанная в редакторе Java по ошибке

Ошибка уже исправлена.Поэтому либо игнорируйте его (так как код скомпилирован), либо используйте более новую версию, например Eclipse 2019-06 (4.12).

1 голос
/ 02 мая 2019

Это происходит, когда вы добавили внешние jar в ModulePath.

Решение:

1) Удалите внешние jar из узла "Modulepath".2) Выберите узел «Classpath», затем добавьте внешние баночки.3) Проверьте, что все банки находятся под узлом "Classpath".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...