Самая важная вещь уже была сказана Андреасом:
Ваш "фреймворк" нуждается в модуле, как и все остальное. Таким образом, ваш основной проект будет иметь четыре модуля:
framework
module1
module2
module3
В главном POM эти четыре будут перечислены как модули.
framework
будет содержать код платформы. module1
также не содержит кода, но содержит два подмодуля для module1-framework
и module1a
. POM module1
определит эти модули.
Если вы соберете проект, вы получите jar для каждого из (под) модулей.
Вы можете использовать плагин сборки или Плагин Shade для объединения некоторых из них в большие банки (даже для всего проекта), но это редко полезно. Maven хорош для разрешения зависимостей, так как нет необходимости объединять множество jar-файлов в один (за исключением исполняемых jar-файлов).