Search code examples
jaxbxjcmaven-jaxb2-plugin

Using modular JAXB compilation does not (seem to) work when location is not an URL


I have 2 schemas: a.xsd and b.xsd which has a dependency on a.xsd (episode).

Schemas are split in different maven projects and packages.

Originally, b.xsd imports a.xsd like this (I don't want to change it):

<import namespace="urn:a" schemaLocation="a.xsd"/>

What do I need to put in my catalog.cat to translate a.xsd to maven:com.mycompany:a:jar::!/com/mycompany/a/a.xsd

I tried PUBLIC, SYSTEM, URI, REWRITE_URI, REWRITE_SYSTEM but nothing is working.

As soon as I change the reference a.xsd to http://.../a.xsd in my schema and use REWRITE_SYSTEM in my catalog, then it is working. But as I said, I don't want to modify my schema.


Solution

  • Nevermind, it seems to work with SYSTEM_SUFFIX.