Пользовательская привязка JAXB с интерфейсом
Я пытаюсь запустить это: интерфейс JAXB
Но я всегда получаю сообщение об ошибке: неподдерживаемое связывание пространства имен "http://jaxb2-commons.dev.java.net/basic/inheritance". Возможно, вы имели в виду "http://jaxb.dev.java.net/plugin/code-injector"?
Есть ли новый способ, позволяющий сгенерированным компонентам реализовывать интерфейсы?
РЕДАКТИРОВАТЬ: я также получаю предупреждение unrecognized parameter -Xinheritance
в моем POM с CXF версии 2.4.0
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<extensions>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-boolean:2.4.0</extension>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-bug671:2.4.0</extension>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:2.4.0</extension>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-ts:2.4.0</extension>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-pl:2.4.0</extension>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-ts:2.4.0</extension>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-wsdlextension:2.4.0</extension>
</extensions>
</configuration>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<xsdOptions>
<xsdOption>
<extension>true</extension>
<xsd>some.xsd</xsd>
<packagename>somepackage</packagename>
<bindingFile>src\main\resources\bindings\bindings.xml</bindingFile>
<extensionArgs>
<arg>-Xdv</arg>
<arg>-Xinheritance</arg>
</extensionArgs>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
<execution>
<configuration>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-runtime</artifactId>
<version>0.6.3</version>
</dependency>
1 ответ
Решение
Вам необходимо добавить плагин jaxb2-basics в качестве зависимости от плагина CXF. См. Пример 6 здесь http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html.
например, добавить это в конце
<dependencies>
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-runtime</artifactId>
<version><!-- Current version --></version>
</dependency>
</dependencies>
</plugin>