Вместо того, чтобы отображать классы JAXB в каждом модуле, сгруппируйте их в схему или jaxb или api модуль (или любое другое имя, которое больше всего подходит). В этом модуле вы можете поместить фабрику для получения экземпляра JAXBContext.
Если вы не хотите смешивать сопоставленные классы в одном модуле, для каждого модуля, использующего JAXB, извлеките сопоставленные классы в другой модуль. Например, если у вас есть moduleA
, moduleB
, moduleC
, извлеките сопоставленные классы JAXB в moduleA-schema
, moduleB-schema
, moduleC-schema
. Таким образом, вы можете поместить фабрику для экземпляра JAXBContext в служебный модуль, который зависит от moduleA-schema
, moduleB-schema
, moduleC-schema
, но не от исходных модулей, чтобы избежать зависимостей cycli c.