ModularJarArchiver should take the manifest Main-Class attribute and use it for the module main class if the later is not explicitly set using ModularJarArchiver#setModuleVersion. It would simplify the creation of modular JAR files and also it does not really make sense to have different main classes set in the manifest and in the module descriptor.