La declaración del módulo define, entre otras cosas, las dependencias de un módulo. Si uso Maven como herramienta de compilación, esto es redundante porque pom.xml ya contiene esta (y más) información. Basado en eso, ¿no podría Maven generar el module-info.java para mí?
Uno podría esperar que la mayoría de las dependencias también sean módulos requeridos. Sin embargo, los requisitos también pueden apuntar a módulos de JDK/JRE, que no están especificados en pom.xml . Entonces, sí, si solo observa las dependencias, probablemente la mayoría de ellas podrían transformarse en una referencia de módulo requerida.
Pero un descriptor de módulo contiene mucha más información, que se basa en las decisiones que debe tomar el desarrollador. He escrito un artículo al respecto que describe en detalle por qué no es posible generar completamente este archivo.
Hasta donde yo sé, bnd-maven-plugin puede generar module-info.class en función de las dependencias configuradas. Si está trabajando con maven-bundle-plugin , debe especificar la versión de bndlib manualmente, ya que la última versión de maven-bundle-plugin (5.1.3) todavía usa la versión 5.x de bndlib, y bndlib requiere 6.x para admitir jpms.
Documento: https://bnd.bndtools.org/releases/6.1.0/chapters/330-jpms.html