#maven-2
#maven-2
Вопрос:
У меня есть проект Maven с двумя подмодулями, каждый модуль имеет зависимость от xerces2.8.1 (для wsdl2java с cxf). Если я создаю подмодули отдельно, он создается успешно.
Если я создаю из корневого модуля, при сборке второго подмодуля происходит сбой с приведенным ниже исключением
[INFO] org.apache.xerces.impl.dv.DVFactoryException: DTD factory class org.apach
e.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory.
Кто-нибудь сталкивался с этим раньше?
Спасибо, Виджай
Комментарии:
1. 1 за включение точного сообщения об ошибке
Ответ №1:
Вам необходимо добавить следующее в конфигурацию плагина:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<dependencies>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.8.1</version>
</dependency>
</dependencies>
...
</plugin>
После этого это должно сработать.
Комментарии:
1. не могли бы вы, пожалуйста, объяснить ответ? зачем плагину codegen нужна внутренняя зависимость?
2. Поскольку загружалась другая неподдерживаемая версия реализации xerces, а не та, которую ожидал плагин codegen.
3. Для CXF 3.2.1 я использовал xerces 2.11.0, и это решило мою проблему. Правильную версию можно найти в cxf-родительском pom-файле.