Ответ 1
После выяснения с Oracle следует использовать следующие артефакты:
Runtime
Если вы хотите развязать XML-объекты Java или маршалировать объекты Java как XML:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>...</version>
</dependency>
Компилятор схемы (XJC)
Если у вас есть XML-схема и вы хотите сгенерировать код Java:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>...</version>
</dependency>
Генератор схемы (JXC/ schemagen
)
Если у вас есть Java-классы с аннотациями JAXB и вы хотите создать на них XML-схему:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-jxc</artifactId>
<version>...</version>
</dependency>
Два последних артефакта (org.glassfish.jaxb:jaxb-xjc
и org.glassfish.jaxb:jaxb-jxc
) завернуты плагинами Maven, поэтому вам обычно не нужны они во время выполнения.
Использование Eclipse
Если ваши проекты Maven каким-то образом не получают полный путь к классу, включите вывод отладки и проверьте консоль Maven. Возможно, вы видите следующее сообщение об ошибке:
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' для com.sun: tools: jar должен указывать абсолютный путь, но ${tools.jar} @
Это связано со следующей проблемой:
решение от @rustyx - добавить -vm
к eclipse.ini
:
-vm
<PATH_TO_JDK>\jre\bin\javaw.exe