Allow ModuleInfoExtender to be used externally

mandy chung mandy.chung at oracle.com
Wed Aug 9 17:35:04 UTC 2017



On 8/9/17 7:39 AM, Oliver Siegmar wrote:
> Hello,
>
> I have to create a Java 9 modularized jar file programmatically.
>
> I noticed, that the compiled module-info.class file gets modified (main-class, module-version and modules-hash) by the jar command line tool (using jdk.internal.module.ModuleInfoExtender).
>
> Unfortunately, neither the ModuleInfoExtender itself nor the used asm-lib is exported to allow external use. Is it planned to change this in the final release of Java 9?

ModuleInfoExtender is JDK internal API and not planned to be 
exported/opened.  New version of ASM supports module-info.class. You can 
probably try out ASM 6 alpha version for now.
>
> I think, it is a bit scary, that the binary version of module-info.class gets manipulated to create a jar file. Having to re-implement this functionality in 3rd party tools (like Ant, Maven, Gradle, etc.) doesn’t make it better ;-)

To be clear, the jar tool does not change Module attribute but it may 
add optional attributes.   I don't see how it can be scary to you.

Mandy



More information about the jigsaw-dev mailing list