Orlando, parte de este equipo de trabajo, nos ha hecho el favor de escribir esta crónica porque controla a la perfección el tema.
Solución:
Al examinar la salida de depuración de Maven de los argumentos que se pasan al JAXB XJC (y un poco de prueba y error), descubrí que necesitaba proporcionar 2 parámetros de configuración más al complemento.
Esto detiene el escaneo del complemento en busca de archivos XSD y solo usa el .wsdl
como la fuente. Los archivos XSD se incluyen en el WSDL como
directivas, por ejemplo, que se resuelven localmente, lo que da como resultado que todos los tipos de WSDL y XSD se generen como clases Java.
La sección de configuración que funcionó para mí es:
com.x.y.model
true
false
service.wsdl
Sin el
Errores de Maven con:
org.apache.maven.lifecycle.LifecycleExecutionException: no se pudo ejecutar el objetivo org.codehaus.mojo:jaxb2-maven-plugin:1.5:xjc (predeterminado-cli) en el proyecto foo: no se pudo procesar el esquema: /c:/projects/foo /src/main/xsd/service.wsdl
Si también está generando wsdl y xsd, intente poner una configuración de ejecución diferente: es posible que no tenga la misma schemaDirectory
o el complemento no se ejecutará correctamente en la segunda ejecución, porque almacena en caché las ejecuciones en función de esta variable. Aconsejo hacerlo como
org.codehaus.mojo
jaxb2-maven-plugin
1.6
generate-sri-facturas
generate-sources
xjc
target/generated-sources/sri
$commonsource.packageName
src/main/resources/schema/xsd
factura_v1.1.0.xsd
generate-sri-autorizacion-comprobantes
generate-sources
xjc
target/generated-sources/sri/autorizacion
$commonsource.packageName.autorizacion
true
false
src/main/resources/schema/wsdl
AutorizacionComprobantes.wsdl
creé un xsd
y un wsdl
carpeta para separar configuraciones.
Puede usar el siguiente código en la configuración:
com.example.demo.wsdl
true
false
horarios.wsdl
$project.basedir/src/main/resources
$project.basedir/src/main/java
false
Eres capaz de añadir valor a nuestra información colaborando tu experiencia en las acotaciones.