#java #xml #eclipse
#java #xml #eclipse
Вопрос:
Я обновляю проект Java с соответствия 1.8 до соответствия 1.14.
В eclipse все, что поступает из библиотеки XML, которая раньше была системной библиотекой в java 8, выдает ошибку, похожую на «Пакет org.xml.sax доступен из нескольких модулей: , java.xml »
Я просмотрел страницы ошибок Eclipse и определил, что это конкретно проблема Eclipse (возможная ошибка). Другие люди работали над этим с настройками проекта и записями POM. Однако я ни разу не нашел, каковы были эти настройки и записи. Я остался, зная, что есть решение и «своего рода» характер решения, но без конкретики.
Системная библиотека JRE в eclipse показывает javax.xml пакет как часть пути к модулю.
POM также содержит зависимость
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
</dependency>
Любая обратная связь будет оценена.
Основная причина, по-видимому, заключается в том, как Eclipse интерпретирует пакеты в системных модулях — он видит модули XML дважды. Когда я удаляю javax.xml модуль из пути сборки системы, пакеты xml не найдены. Однако, когда я добавляю его обратно, пакеты xml обнаруживаются дважды.
Спасибо заранее.
Комментарии:
1. Руководство по миграции Oracle JDK Предназначено для перехода с 8 на 11, что достаточно близко, поскольку 8 является немодульным, а все, что после 8, является модульным.
2. Это близко, но моя проблема в том, что Eclipse (и только Eclipse) видит две копии библиотек. Код отлично компилируется в maven.
3. Итак, можете ли вы подробно описать, как в настоящее время настроен проект, и подтвердить, что он уже настроен для компиляции с Java 14 (нет «1.14»)?
4. Фасет java 14 включен. В POM указано <java.version>14</java.version> . В проекте Maven говорится, что он использует библиотеки java 14
5. Это ограничение Java, а не ошибка Eclipse: один и тот же пакет не должен содержаться более чем в одном модуле. Произошла ошибка Eclipse, показывающая эту ошибку по ошибке для пакета
a.b
, даже если был только пакетa.b.c
. Но эта ошибка была исправлена давным-давно.