JAXB vincula varios archivos con el mismo espacio de nombres al mismo paquete
Tengo una jerarquía de esquema como esta:
common
|---legacy
| |---legacy.xsd xmlns="http://common/legacy"
| |---other.xsd xmlns="http://common/legacy"
| '---....xsd xmlns="http://common/legacy"
|---send
|---file.xsd xmlns="http://common/send"
'---text.xsd xmlns="http://common/send"
'---....xsd xmlns="http://common/send"
Todos los archivos en una carpeta tienen el mismo espacio de nombres.
Ahora quiero asignar los espacios de nombres a paquetes específicos de Java (no puedo cambiar el espacio de nombres).
Encontré una solución para vincular un esquema a un paquete. Pero luego tendría que crear una entrada por archivo xsd:
<jaxb:bindings schemaLocation="./common/legacy/legacy.xsd">
<jaxb:schemaBindings>
<jaxb:package name="com.company/legacy"/>
</jaxb:schemaBindings>
</jaxb:bindings>
<jaxb:bindings schemaLocation="./common/legacy/other.xsd">
<jaxb:schemaBindings>
<jaxb:package name="com.company/legacy"/>
</jaxb:schemaBindings>
</jaxb:bindings>
.....
¿Hay alguna manera de definir directamente un enlace entre el espacio de nombres y el nombre de un paquete?
La otra forma sería definir el paquete en maven:
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<configuration>
<generatePackage>com.company/legacy</generatePackage>
</configuration>
</plugin>
Pero luego tendría que crear una ejecución por carpeta, que en realidad no es lo que quiero.